TelegramContext
Send API - Official Docs
sendMessage(text [, options]) - Official Docs
Sends text messages.
| Param | Type | Description | 
|---|---|---|
| text | String | Text of the message to be sent. | 
| options | Object | Other optional parameters. | 
Exmaple:
context.sendMessage('hi', {
  disable_web_page_preview: true,
  disable_notification: true,
});
sendPhoto(photo [, options]) - Official Docs
Sends photos.
| Param | Type | Description | 
|---|---|---|
| photo | String | Pass a file id (recommended) or HTTP URL to send photo. | 
| options | Object | Other optional parameters. | 
Example:
context.sendPhoto('https://example.com/image.png', {
  caption: 'gooooooodPhoto',
  disable_notification: true,
});
sendAudio(audio [, options]) - Official Docs
Sends audio files.
| Param | Type | Description | 
|---|---|---|
| audio | String | Pass a file id (recommended) or HTTP URL to send audio. | 
| options | Object | Other optional parameters. | 
Example:
context.sendAudio('https://example.com/audio.mp3', {
  caption: 'gooooooodAudio',
  disable_notification: true,
});
sendDocument(document [, options]) - Official Docs
Sends general files.
| Param | Type | Description | 
|---|---|---|
| document | String | Pass a file id (recommended) or HTTP URL to send document. | 
| options | Object | Other optional parameters. | 
Example:
context.sendDocument('https://example.com/doc.gif', {
  caption: 'gooooooodDocument',
  disable_notification: true,
});
sendSticker(sticker [, options]) - Official Docs
Sends .webp stickers.
| Param | Type | Description | 
|---|---|---|
| sticker | String | Pass a file id (recommended) or HTTP URL to send sticker. | 
| options | Object | Other optional parameters. | 
Example:
context.sendSticker('CAADAgADQAADyIsGAAE7MpzFPFQX5QI', {
  disable_notification: true,
});
sendVideo(video [, options]) - Official Docs
Sends video files, Telegram clients support mp4 videos (other formats may be sent as Document).
| Param | Type | Description | 
|---|---|---|
| video | String | Pass a file id (recommended) or HTTP URL to send video. | 
| options | Object | Other optional parameters. | 
Example:
context.sendVideo('https://example.com/video.mp4', {
  caption: 'gooooooodVideo',
  disable_notification: true,
});
sendVoice(voice [, options]) - Official Docs
Sends audio files.
| Param | Type | Description | 
|---|---|---|
| voice | String | Pass a file id (recommended) or HTTP URL to send voice. | 
| options | Object | Other optional parameters. | 
Example:
context.sendVoice('https://example.com/voice.ogg', {
  caption: 'gooooooodVoice',
  disable_notification: true,
});
sendVideoNote(videoNote [, options]) - Official Docs
Sends video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long.
| Param | Type | Description | 
|---|---|---|
| videoNote | String | Pass a file id (recommended) or HTTP URL to send video note. | 
| options | Object | Other optional parameters. | 
Example:
context.sendVideoNote('https://example.com/video_note.mp4', {
  duration: 40,
  disable_notification: true,
});
sendMediaGroup(media [, options]) - Official Docs
send a group of photos or videos as an album.
| Param | Type | Description | 
|---|---|---|
| media | Array<InputMedia> | A JSON-serialized array describing photos and videos to be sent, must include 2–10 items | 
| options | Object | Other optional parameters. | 
Example:
context.sendMediaGroup([
  { type: 'photo', media: 'BQADBAADApYAAgcZZAfj2-xeidueWwI' },
]);
sendLocation(location [, options]) - Official Docs
Sends point on the map.
| Param | Type | Description | 
|---|---|---|
| location | Object | Object contains latitude and longitude. | 
| location.latitude | Number | Latitude of the location. | 
| location.longitude | Number | Longitude of the location. | 
| options | Object | Other optional parameters. | 
Example:
context.sendLocation(
  {
    latitude: 30,
    longitude: 45,
  },
  {
    disable_notification: true,
  }
);
sendVenue(venue [, options]) - Official Docs
Sends information about a venue.
| Param | Type | Description | 
|---|---|---|
| venue | Object | Object contains information of the venue. | 
| venue.latitude | Number | Latitude of the venue. | 
| venue.longitude | Number | Longitude of the venue. | 
| venue.title | String | Name of the venue. | 
| venue.address | String | Address of the venue. | 
| options | Object | Other optional parameters. | 
Example:
context.sendVenue(
  {
    latitude: 30,
    longitude: 45,
    title: 'a_title',
    address: 'an_address',
  },
  {
    disable_notification: true,
  }
);
sendContact(contact [, options]) - Official Docs
Sends phone contacts.
| Param | Type | Description | 
|---|---|---|
| contact | Object | Object contains information of the contact. | 
| contact.phone_number | String | Phone number of the contact. | 
| contact.first_name | String | First name of the contact. | 
| options | Object | Other optional parameters. | 
Example:
context.sendContact(
  {
    phone_number: '886123456789',
    first_name: 'first',
  },
  { last_name: 'last' }
);
sendChatAction(action) - Official Docs
Tells the user that something is happening on the bot's side.
| Param | Type | Description | 
|---|---|---|
| action | String | Type of action to broadcast. | 
Example:
context.sendChatAction('typing');
Get API
getUserProfilePhotos(options) - Official Docs
Gets a list of profile pictures for a user.
| Param | Type | Description | 
|---|---|---|
| options | Object | Other optional parameters | 
Example:
context.getUserProfilePhotos().then((result) => {
  console.log(result);
  // {
  //   total_count: 3,
  //   photos: [
  //     [
  //       {
  //         file_id: 'AgADBAADGTo4Gz8cZAeR-ouu4XBx78EeqRkABHahi76pN-aO0UoDA050',
  //         file_size: 14650,
  //         width: 160,
  //         height: 160,
  //       },
  //       {
  //         file_id: 'AgADBAADGTo4Gz8cZAeR-ouu4XBx78EeqRkABKCfooqTgFUX0EoD5B1C',
  //         file_size: 39019,
  //         width: 320,
  //         height: 320,
  //       },
  //       {
  //         file_id: 'AgADBAADGTo4Gz8cZAeR-ouu4XBx78EeqRkABPL_pC9K3UpI0koD1B1C',
  //         file_size: 132470,
  //         width: 640,
  //         height: 640,
  //       },
  //     ],
  //   ],
  // }
});
getChat() - Official Docs
Gets up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc.)
Example:
context.getChat().then((result) => {
  console.log(result);
  // {
  //   id: 313534466,
  //   first_name: 'first',
  //   last_name: 'last',
  //   username: 'username',
  //   type: 'private',
  // }
});
getChatAdministrators() - Official Docs
Gets a list of administrators in the chat.
Example:
context.getChatAdministrators().then((result) => {
  console.log(result);
  // [
  //   {
  //     user: {
  //       id: 313534466,
  //       first_name: 'first',
  //       last_name: 'last',
  //       username: 'username',
  //       languange_code: 'zh-TW',
  //     },
  //     status: 'creator',
  //   },
  // ]
});
getChatMembersCount() - Official Docs
Gets the number of members in the chat.
Example:
context.getChatMembersCount().then((result) => {
  console.log(result);
  // '6'
});
getChatMember(userId) - Official Docs
Gets information about a member of the chat.
| Param | Type | Description | 
|---|---|---|
| userId | Number | Unique identifier of the target user. | 
Example:
context.getChatMember(USER_ID).then((result) => {
  console.log(result);
  // {
  //   user: {
  //     id: 313534466,
  //     first_name: 'first',
  //     last_name: 'last',
  //     username: 'username',
  //     languange_code: 'zh-TW',
  //   },
  //   status: 'creator',
  // }
});
Updating API
editMessageText(text [, options]) - Official Docs
Edits text and game messages sent by the bot or via the bot (for inline bots).
| Param | Type | Description | 
|---|---|---|
| text | String | New text of the message. | 
| options | Object | Other optional parameters. | 
Example:
context.editMessageText('new_text');
editMessageCaption(caption [, options]) - Official Docs
Edits captions of messages sent by the bot or via the bot (for inline bots).
| Param | Type | Description | 
|---|---|---|
| caption | String | New caption of the message. | 
| options | Object | Other optional parameters. | 
Example:
context.editMessageCaption('new_caption');
editMessageReplyMarkup(replyMarkup [, options]) - Official Docs
Edits only the reply markup of messages sent by the bot or via the bot (for inline bots).
| Param | Type | Description | 
|---|---|---|
| replyMarkup | Object | New replyMarkup of the message. | 
| options | Object | Other optional parameters. | 
Example:
context.editMessageReplyMarkup({
  keyboard: [[{ text: 'new_button_1' }, { text: 'new_button_2' }]],
  resize_keyboard: true,
  one_time_keyboard: true,
});
deleteMessage(messageId) - Official Docs
Deletes a message, including service messages.
| Param | Type | Description | 
|---|---|---|
| messageId | Number | Identifier of the message to delete. | 
Example:
context.deleteMessage(MESSAGE_ID);
editMessageLiveLocation(location [, options]) - Official Docs
Edit live location messages sent by the bot or via the bot (for inline bots).
| Param | Type | Description | 
|---|---|---|
| location | Object | Object contains new latitude and longitude. | 
| location.latitude | Number | Latitude of new location. | 
| location.longitude | Number | Longitude of new location. | 
| options | Object | Other optional parameters. | 
Example:
context.editMessageLiveLocation({
  latitude: 30,
  longitude: 45,
});
stopMessageLiveLocation(options) - Official Docs
Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_period expires.
| Param | Type | Description | 
|---|---|---|
| options | Object | Other optional parameters. | 
Example:
context.stopMessageLiveLocation();
Group API
kickChatMember(userId [, options]) - Official Docs
Kicks a user from the group, the supergroup or the channel.
| Param | Type | Description | 
|---|---|---|
| userId | Number | Unique identifier of the target user. | 
| options | Object | Other optional parameters. | 
Example:
context.kickChatMember(USER_ID, { until_date: UNIX_TIME });
unbanChatMember(userId) - Official Docs
Unbans a previously kicked user in the supergroup or channel.
| Param | Type | Description | 
|---|---|---|
| userId | Number | Unique identifier of the target user. | 
Example:
context.unbanChatMember(USER_ID);
restrictChatMember(userId [, options]) - Official Docs
Restricts a user in the supergroup
| Param | Type | Description | 
|---|---|---|
| userId | Number | Unique identifier of the target user. | 
| options | Object | Other optional parameters. | 
Example:
context.restrictChatMember(USER_ID, { can_send_messages: true });
promoteChatMember(userId [, options]) - Official Docs
Promotes or demotes a user in the supergroup or the channel.
| Param | Type | Description | 
|---|---|---|
| userId | Number | Unique identifier of the target user. | 
| options | Object | Other optional parameters. | 
Example:
context.promoteChatMember(USER_ID, {
  can_change_info: true,
  can_invite_users: true,
});
exportChatInviteLink() - Official Docs
Exports an invite link to the supergroup or the channel.
Example:
context.exportChatInviteLink();
setChatPhoto(photo) - Official Docs
Sets a new profile photo for the chat.
| Param | Type | Description | 
|---|---|---|
| photo | String | Pass a file id (recommended) or HTTP URL to send photo. | 
Example:
context.setChatPhoto('https://example.com/image.png');
deleteChatPhoto() - Official Docs
Deletes the chat photo.
Example:
context.deleteChatPhoto();
setChatTitle(title) - Official Docs
Changes the title of the chat.
| Param | Type | Description | 
|---|---|---|
| title | String | New chat title, 1-255 characters. | 
Example:
context.setChatTitle('New Title');
setChatDescription(description) - Official Docs
Changes the description of the supergroup or the channel.
| Param | Type | Description | 
|---|---|---|
| description | String | New chat description, 0-255 characters. | 
Example:
context.setChatDescription('New Description');
setChatStickerSet(stickerSetName) - Official Docs
Set a new group sticker set for the supergroup.
| Param | Type | Description | 
|---|---|---|
| stickerSetName | String | Name of the sticker set to be set as the group sticker set. | 
Example:
context.setChatStickerSet('Sticker Set Name');
deleteChatStickerSet() - Official Docs
Delete a group sticker set from the supergroup.
Example:
context.deleteChatStickerSet();
pinChatMessage(messageId [, options]) - Official Docs
Pins a message in the supergroup.
| Param | Type | Description | 
|---|---|---|
| messageId | Number | Identifier of a message to pin. | 
| options | Object | Other optional parameters. | 
Example:
context.pinChatMessage(MESSAGE_ID, { disable_notification: true });
unpinChatMessage() - Official Docs
Unpins a message in the supergroup chat.
Example:
context.unpinChatMessage();
leaveChat() - Official Docs
Leaves the group, supergroup or channel.
Example:
context.leaveChat();
Payments API
sendInvoice(product [, options]) - Official Docs
Sends invoice.
| Param | Type | Description | 
|---|---|---|
| product | Object | Object of the product. | 
| product.title | String | Product name. | 
| product.description | String | Product description. | 
| product.payload | String | Bot defined invoice payload. | 
| product.provider_token | String | Payments provider token. | 
| product.start_parameter | String | Deep-linking parameter. | 
| product.currency | String | Three-letter ISO 4217 currency code. | 
| product.prices | Array<Object> | Breakdown of prices. | 
| options | Object | Additional Telegram query options. | 
Example:
context.sendInvoice({
  title: 'product name',
  description: 'product description',
  payload: 'bot-defined invoice payload',
  provider_token: 'PROVIDER_TOKEN',
  start_parameter: 'pay',
  currency: 'USD',
  prices: [
    { label: 'product', amount: 11000 },
    { label: 'tax', amount: 11000 },
  ],
});
answerShippingQuery(ok [, options]) - Official Docs
Reply to the shipping query.
| Param | Type | Description | 
|---|---|---|
| ok | Boolean | Specify if delivery of the product is possible. | 
| options | Object | Additional Telegram query options. | 
Example:
context.answerShippingQuery(true);
answerPreCheckoutQuery(ok [, options]) - Official Docs
Respond to the pre-checkout query.
| Param | Type | Description | 
|---|---|---|
| ok | Boolean | Specify if delivery of the product is possible. | 
| options | Object | Additional Telegram query options. | 
Example:
context.answerPreCheckoutQuery(true);
Inline mode API
answerInlineQuery(results [, options]) - Official Docs
Send answers to the inline query.
| Param | Type | Description | 
|---|---|---|
| results | Array<InlineQueryResult> | Array of object represents one result of an inline query. | 
| options | Object | Additional Telegram query options. | 
Example:
context.answerInlineQuery(
  [
    {
      type: 'photo',
      id: 'UNIQUE_ID',
      photo_file_id: 'FILE_ID',
      title: 'PHOTO_TITLE',
    },
    {
      type: 'audio',
      id: 'UNIQUE_ID',
      audio_file_id: 'FILE_ID',
      caption: 'AUDIO_TITLE',
    },
  ],
  {
    cache_time: 1000,
  }
);
Game API
sendGame(gameShortName [, options]) - Official Docs
Sends a game.
| Param | Type | Description | 
|---|---|---|
| gameShortName | String | Short name of the game. | 
| options | Object | Additional Telegram query options. | 
Example:
context.sendGame('Mario Bros.', {
  disable_notification: true,
});
setGameScore(score [, options]) - Official Docs
Sets the score of the specified user in a game.
| Param | Type | Description | 
|---|---|---|
| score | Number | New score, must be non-negative. | 
| options | Object | Additional Telegram query options. | 
Example:
context.setGameScore(999);
getGameHighScores() - Official Docs
Gets data for high score tables.
| Param | Type | Description | 
|---|---|---|
| options | Object | Additional Telegram query options. | 
Example:
context.getGameHighScores();
Others
forwardMessageFrom(fromChatId, messageId [, options]) - Official Docs
Forwards messages of any kind.
| Param | Type | Description | 
|---|---|---|
| fromChatId | Number | String | Unique identifier for the chat where the original message was sent. | 
| messageId | Number | Message identifier in the chat specified in from_chat_id. | 
| options | Object | Other optional parameters. | 
Example:
context.forwardMessageFrom(CHAT_ID, MESSAGE_ID, {
  disable_notification: true,
});
forwardMessageTo(toChatId, messageId [, options]) - Official Docs
Forwards messages of any kind.
| Param | Type | Description | 
|---|---|---|
| toChatId | Number | String | Unique identifier for the target chat or username of the target channel. | 
| messageId | Number | Message identifier in the chat specified in from_chat_id. | 
| options | Object | Other optional parameters. | 
Example:
context.forwardMessageTo(CHAT_ID, MESSAGE_ID, {
  disable_notification: true,
});