GramJS

account.RegisterDevice

Register device to receive PUSH notifications

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.RegisterDevice({
      tokenType: 43,
      token: "some string here",
      appSandbox: false,
      secret: Buffer.from("arbitrary data here"),
      otherUids: [BigInt("-4156887774564")],
      noMuted: true,
    })
  );
  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.Bool = await client.invoke(
    new Api.account.RegisterDevice({
      tokenType: 43,
      token: "some string here",
      appSandbox: false,
      secret: Buffer.from("arbitrary data here"),
      otherUids: [BigInt("-4156887774564")],
      noMuted: true,
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
flags#Flags, see TL conditional fields
noMutedflags.0?trueAvoid receiving (silent and invisible background) notifications. Useful to save battery.
tokenTypeintDevice token type.Possible values:1 - APNS (device token for apple push)2 - FCM (firebase token for google firebase)3 - MPNS (channel URI for microsoft push)4 - Simple push (endpoint for firefox's simple push API)5 - Ubuntu phone (token for ubuntu push)6 - Blackberry (token for blackberry push)7 - Unused8 - WNS (windows push)9 - APNS VoIP (token for apple push VoIP)10 - Web push (web push, see below)11 - MPNS VoIP (token for microsoft push VoIP)12 - Tizen (token for tizen push)For 10 web push, the token must be a JSON-encoded object containing the keys described in PUSH updates
tokenstringDevice token
appSandboxBoolIf (boolTrue) is transmitted, a sandbox-certificate will be used during transmission.
secretbytesFor FCM and APNS VoIP, optional encryption key used to encrypt push notifications
otherUidsVector<long>List of user identifiers of other users currently using the client

Result

Bool

Possible errors

CodeTypeDescription
400TOKEN_INVALIDThe provided token is invalid.
400WEBPUSH_AUTH_INVALIDThe specified web push authentication secret is invalid.
400WEBPUSH_KEY_INVALIDThe specified web push elliptic curve Diffie-Hellman public key is invalid.
400WEBPUSH_TOKEN_INVALIDThe specified web push token is invalid.

Can bots use this method?

No

Handling PUSH-notifications

How to subscribe to and handle PUSH notifications

boolTrue

The constructor can be interpreted as a **boolean**true value.