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.

account.SendChangePhoneCode

Verify a new phone number to associate to the current account

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.account.SendChangePhoneCode({
      phoneNumber: "some string here",
      settings: new Api.CodeSettings({
        allowFlashcall: true,
        currentNumber: true,
        allowAppHash: true,
        allowMissedCall: true,
        logoutTokens: [Buffer.from("arbitrary data here")],
      }),
    })
  );
  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.auth.SentCode = await client.invoke(
    new Api.account.SendChangePhoneCode({
      phoneNumber: "some string here",
      settings: new Api.CodeSettings({
        allowFlashcall: true,
        currentNumber: true,
        allowAppHash: true,
        allowMissedCall: true,
        logoutTokens: [Buffer.from("arbitrary data here")],
      }),
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
phoneNumberstringNew phone number
settingsCodeSettingsPhone code settings

Result

auth.SentCode

Possible errors

CodeTypeDescription
406FRESH_CHANGE_PHONE_FORBIDDENYou can't change phone number right after logging in, please wait at least 24 hours.
400PHONE_NUMBER_BANNEDThe provided phone number is banned from telegram.
406PHONE_NUMBER_INVALIDThe phone number is invalid.
400PHONE_NUMBER_OCCUPIEDThe phone number is already in use.

Can bots use this method?

No