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.

channels.EditCreator

Transfer channel ownership

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.channels.EditCreator({
      channel: "username",
      userId: "username",
      password: new Api.InputCheckPasswordSRP({
        srpId: BigInt("-4156887774564"),
        a: Buffer.from("arbitrary data here"),
        m1: 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.Updates = await client.invoke(
    new Api.channels.EditCreator({
      channel: "username",
      userId: "username",
      password: new Api.InputCheckPasswordSRP({
        srpId: BigInt("-4156887774564"),
        a: Buffer.from("arbitrary data here"),
        m1: Buffer.from("arbitrary data here"),
      }),
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
channelInputChannelChannel
userIdInputUserNew channel owner
passwordInputCheckPasswordSRP2FA password of account

Result

Updates

Possible errors

CodeTypeDescription
400CHANNEL_PRIVATEYou haven't joined this channel/supergroup.
400CHAT_ADMIN_REQUIREDYou must be an admin in this chat to do this.
403CHAT_WRITE_FORBIDDENYou can't write in this chat.
400PASSWORD_HASH_INVALIDThe provided password hash is invalid.
400PASSWORD_MISSINGYou must enable 2FA in order to transfer ownership of a channel.
400PASSWORD_TOO_FRESH_%dThe password was modified less than 24 hours ago, try again in %d seconds.
400SESSION_TOO_FRESH_%dThis session was created less than 24 hours ago, try again in %d seconds.
400SRP_ID_INVALIDInvalid SRP ID provided.
400USER_ID_INVALIDThe provided user ID is 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.