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.AcceptEncryption

Confirms creation of a secret chat

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.AcceptEncryption({
      peer: new Api.InputEncryptedChat({
        chatId: 43,
        accessHash: BigInt("-4156887774564"),
      }),
      gB: Buffer.from("arbitrary data here"),
      keyFingerprint: BigInt("-4156887774564"),
    })
  );
  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.EncryptedChat = await client.invoke(
    new Api.messages.AcceptEncryption({
      peer: new Api.InputEncryptedChat({
        chatId: 43,
        accessHash: BigInt("-4156887774564"),
      }),
      gB: Buffer.from("arbitrary data here"),
      keyFingerprint: BigInt("-4156887774564"),
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
peerInputEncryptedChatSecret chat ID
gBbytesB = g ^ b mod p, see Wikipedia
keyFingerprintlong64-bit fingerprint of the received key

Result

EncryptedChat

Possible errors

CodeTypeDescription
400CHAT_ID_INVALIDThe provided chat id is invalid.
400ENCRYPTION_ALREADY_ACCEPTEDSecret chat already accepted.
400ENCRYPTION_ALREADY_DECLINEDThe secret chat was already declined.

Can bots use this method?

No