GramJS

messages.UpdatePinnedMessage

Pin a message

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.messages.UpdatePinnedMessage({
      peer: "username",
      id: 43,
      unpin: true,
      pmOneside: 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.Updates = await client.invoke(
    new Api.messages.UpdatePinnedMessage({
      peer: "username",
      id: 43,
      unpin: true,
      pmOneside: true,
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
flags#Flags, see TL conditional fields
silentflags.0?truePin the message silently, without triggering a notification
unpinflags.1?trueWhether the message should unpinned or pinned
pmOnesideflags.2?trueWhether the message should only be pinned on the local side of a one-to-one chat
peerInputPeerThe peer where to pin the message
idintThe message to pin or unpin

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
400CHAT_NOT_MODIFIEDThe pinned message wasn't modified
403CHAT_WRITE_FORBIDDENYou can't write in this chat
400MESSAGE_ID_INVALIDThe provided message id is invalid
400PIN_RESTRICTEDYou can't pin messages

Can bots use this method?

Yes