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