GramJS

auth.RecoverPassword

Reset the 2FA password using the recovery code sent using auth.requestPasswordRecovery.

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.auth.RecoverPassword({
      code: "some string here",
      newSettings: new Api.account.PasswordInputSettings({
        newAlgo: new Api.PasswordKdfAlgoUnknown({}),
        newPasswordHash: Buffer.from("arbitrary data here"),
        hint: "some string here",
        email: "some string here",
        newSecureSettings: new Api.SecureSecretSettings({
          secureAlgo: new Api.SecurePasswordKdfAlgoUnknown({}),
          secureSecret: Buffer.from("arbitrary data here"),
          secureSecretId: 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.auth.Authorization = await client.invoke(
    new Api.auth.RecoverPassword({
      code: "some string here",
      newSettings: new Api.account.PasswordInputSettings({
        newAlgo: new Api.PasswordKdfAlgoUnknown({}),
        newPasswordHash: Buffer.from("arbitrary data here"),
        hint: "some string here",
        email: "some string here",
        newSecureSettings: new Api.SecureSecretSettings({
          secureAlgo: new Api.SecurePasswordKdfAlgoUnknown({}),
          secureSecret: Buffer.from("arbitrary data here"),
          secureSecretId: BigInt("-4156887774564"),
        }),
      }),
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
flags#Flags, see TL conditional fields
codestringCode received via email
newSettingsflags.0?account.PasswordInputSettingsNew password

Result

auth.Authorization

Possible errors

CodeTypeDescription
400CODE_EMPTYThe provided code is empty.
400NEW_SETTINGS_INVALIDThe new password settings are invalid.

Can bots use this method?

No

Two-factor authentication

How to login to a user's account if they have enabled 2FA, how to change password.

auth.requestPasswordRecovery

Request recovery code of a 2FA password, only for accounts with a recovery email configured.