GramJS

⚠️ This project is archived and no longer maintained. Development continues in teleproto, an actively maintained fork. It's largely compatible with GramJS for most projects, migration means little more than swapping the package:
npm install teleproto
See the migration guide for details.

messages.InitHistoryImport

Import chat history from a foreign chat app into a specific Telegram chat, click here for more info about imported chats ».

Example

const { Api, TelegramClient } = require("telegram");
const { StringSession } = require("telegram/sessions");

const session = new StringSession(""); // You should put your string session here
const client = new TelegramClient(session, apiId, apiHash, {});

(async function run() {
  await client.connect(); // This assumes you have already authenticated with .start()

  const result = await client.invoke(
    new Api.messages.InitHistoryImport({
      peer: "username",
      file: await client.uploadFile({
        file: new CustomFile(
          "file.bin",
          fs.statSync("../file.bin").size,
          "../file.bin"
        ),
        workers: 1,
      }),
      mediaCount: 43,
    })
  );
  console.log(result); // prints the result
})();
import { Api, TelegramClient } from "telegram";
import { StringSession } from "telegram/sessions";

const session = new StringSession(""); // You should put your string session here
const client = new TelegramClient(session, apiId, apiHash, {});

(async function run() {
  await client.connect(); // This assumes you have already authenticated with .start()

  const result: Api.messages.HistoryImport = await client.invoke(
    new Api.messages.InitHistoryImport({
      peer: "username",
      file: await client.uploadFile({
        file: new CustomFile(
          "file.bin",
          fs.statSync("../file.bin").size,
          "../file.bin"
        ),
        workers: 1,
      }),
      mediaCount: 43,
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
peerInputPeerThe Telegram chat where the history should be imported.
fileInputFileFile with messages to import.
mediaCountintNumber of media files associated with the chat that will be uploaded using messages.uploadImportedMedia.

Result

messages.HistoryImport

Possible errors

CodeTypeDescription
400IMPORT_FILE_INVALIDThe specified chat export file is invalid.
400IMPORT_FORMAT_UNRECOGNIZEDThe specified chat export file was exported from an unsupported chat app.
406PREVIOUS_CHAT_IMPORT_ACTIVE_WAIT_%dMINImport for this chat is already in progress, wait %d minutes before starting a new one.

Can bots use this method?

No

Imported messages

Telegram allows importing messages and media from foreign chat apps.

messages.uploadImportedMedia

Upload a media file associated with an imported chat, click here for more info ».