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.

stickers.AddStickerToSet

Add a sticker to a stickerset, bots only. The sticker set must have been created by the bot.

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.stickers.AddStickerToSet({
      stickerset: new Api.InputStickerSetID({
        id: BigInt("-4156887774564"),
        accessHash: BigInt("-4156887774564"),
      }),
      sticker: new Api.InputStickerSetItem({
        document: new Api.InputDocument({
          id: BigInt("-4156887774564"),
          accessHash: BigInt("-4156887774564"),
          fileReference: Buffer.from("arbitrary data here"),
        }),
        emoji: "some string here",
        maskCoords: new Api.MaskCoords({
          n: 43,
          x: 8.24,
          y: 8.24,
          zoom: 8.24,
        }),
      }),
    })
  );
  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.messages.StickerSet = await client.invoke(
    new Api.stickers.AddStickerToSet({
      stickerset: new Api.InputStickerSetID({
        id: BigInt("-4156887774564"),
        accessHash: BigInt("-4156887774564"),
      }),
      sticker: new Api.InputStickerSetItem({
        document: new Api.InputDocument({
          id: BigInt("-4156887774564"),
          accessHash: BigInt("-4156887774564"),
          fileReference: Buffer.from("arbitrary data here"),
        }),
        emoji: "some string here",
        maskCoords: new Api.MaskCoords({
          n: 43,
          x: 8.24,
          y: 8.24,
          zoom: 8.24,
        }),
      }),
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
stickersetInputStickerSetThe stickerset
stickerInputStickerSetItemThe sticker

Result

messages.StickerSet

Possible errors

CodeTypeDescription
400BOT_MISSINGThis method can only be run by a bot.
400STICKERPACK_STICKERS_TOO_MUCHThere are too many stickers in this stickerpack, you can't add any more.
400STICKERSET_INVALIDThe provided sticker set is invalid.
400STICKERS_TOO_MUCHThere are too many stickers in this stickerpack, you can't add any more.
400STICKER_PNG_NOPNGOne of the specified stickers is not a valid PNG file.
400STICKER_TGS_NOTGSInvalid TGS sticker provided.

Can bots use this method?

Yes