Stickers

The following methods and objects allow your bot to handle stickers and sticker sets.

Sticker

This object represents a sticker.

Field Type Description
file_id String Identifier for this file, which can be used to download or reuse the file
file_unique_id String Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
type String Type of the sticker, currently one of “regular”, “mask”, “custom_emoji”. The type of the sticker is independent from its format, which is determined by the fields is_animated and is_video.
width Integer Sticker width
height Integer Sticker height
is_animated Boolean True, if the sticker is animated
is_video Boolean True, if the sticker is a video sticker
thumbnail PhotoSize Optional. Sticker thumbnail in the .WEBP or .JPG format
emoji String Optional. Emoji associated with the sticker
set_name String Optional. Name of the sticker set to which the sticker belongs
premium_animation File Optional. For premium regular stickers, premium animation for the sticker
mask_position MaskPosition Optional. For mask stickers, the position where the mask should be placed
custom_emoji_id String Optional. For custom emoji stickers, unique identifier of the custom emoji
needs_repainting True Optional. True, if the sticker must be repainted to a text color in messages, the color of the Telegram Premium badge in emoji status, white color on chat photos, or another appropriate color in other places
file_size Integer Optional. File size in bytes

StickerSet

This object represents a sticker set.

Field Type Description
name String Sticker set name
title String Sticker set title
sticker_type String Type of stickers in the set, currently one of “regular”, “mask”, “custom_emoji”
stickers Array of Sticker List of all set stickers
thumbnail PhotoSize Optional. Sticker set thumbnail in the .WEBP, .TGS, or .WEBM format

MaskPosition

This object describes the position on faces where a mask should be placed by default.

Field Type Description
point String The part of the face relative to which the mask should be placed. One of “forehead”, “eyes”, “mouth”, or “chin”.
x_shift Float Shift by X-axis measured in widths of the mask scaled to the face size, from left to right. For example, choosing -1.0 will place mask just to the left of the default mask position.
y_shift Float Shift by Y-axis measured in heights of the mask scaled to the face size, from top to bottom. For example, 1.0 will place the mask just below the default mask position.
scale Float Mask scaling coefficient. For example, 2.0 means double size.

InputSticker

This object describes a sticker to be added to a sticker set.

Field Type Description
sticker String The added sticker. Pass a file_id as a String to send a file that already exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new file using multipart/form-data under <file_attach_name> name. Animated and video stickers can't be uploaded via HTTP URL. More information on Sending Files »
format String Format of the added sticker, must be one of “static” for a .WEBP or .PNG image, “animated” for a .TGS animation, “video” for a .WEBM video
emoji_list Array of String List of 1-20 emoji associated with the sticker
mask_position MaskPosition Optional. Position where the mask should be placed on faces. For “mask” stickers only.
keywords Array of String Optional. List of 0-20 search keywords for the sticker with total length of up to 64 characters. For “regular” and “custom_emoji” stickers only.

sendSticker

Use this method to send static .WEBP, animated .TGS, or video .WEBM stickers. On success, the sent Message is returned.

Parameter Type Required Description
business_connection_id String Optional Unique identifier of the business connection on behalf of which the message will be sent
chat_id Integer or String Yes Unique identifier for the target chat or username of the target channel (in the format @channelusername)
message_thread_id Integer Optional Unique identifier for the target message thread (topic) of a forum; for forum supergroups and private chats of bots with forum topic mode enabled only
direct_messages_topic_id Integer Optional Identifier of the direct messages topic to which the message will be sent; required if the message is sent to a direct messages chat
sticker InputFile or String Yes Sticker to send. Pass a file_id as String to send a file that exists on the Telegram servers (recommended), pass an HTTP URL as a String for Telegram to get a .WEBP sticker from the Internet, or upload a new .WEBP, .TGS, or .WEBM sticker using multipart/form-data. More information on Sending Files ». Video and animated stickers can't be sent via an HTTP URL.
emoji String Optional Emoji associated with the sticker; only for just uploaded stickers
disable_notification Boolean Optional Sends the message silently. Users will receive a notification with no sound.
protect_content Boolean Optional Protects the contents of the sent message from forwarding and saving
allow_paid_broadcast Boolean Optional Pass True to allow up to 1000 messages per second, ignoring broadcasting limits for a fee of 0.1 Telegram Stars per message. The relevant Stars will be withdrawn from the bot's balance
message_effect_id String Optional Unique identifier of the message effect to be added to the message; for private chats only
suggested_post_parameters SuggestedPostParameters Optional A JSON-serialized object containing the parameters of the suggested post to send; for direct messages chats only. If the message is sent as a reply to another suggested post, then that suggested post is automatically declined.
reply_parameters ReplyParameters Optional Description of the message to reply to
reply_markup InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply Optional Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove a reply keyboard or to force a reply from the user

getStickerSet

Use this method to get a sticker set. On success, a StickerSet object is returned.

Parameter Type Required Description
name String Yes Name of the sticker set

getCustomEmojiStickers

Use this method to get information about custom emoji stickers by their identifiers. Returns an Array of Sticker objects.

Parameter Type Required Description
custom_emoji_ids Array of String Yes A JSON-serialized list of custom emoji identifiers. At most 200 custom emoji identifiers can be specified.

uploadStickerFile

Use this method to upload a file with a sticker for later use in the createNewStickerSet, addStickerToSet, or replaceStickerInSet methods (the file can be used multiple times). Returns the uploaded File on success.

Parameter Type Required Description
user_id Integer Yes User identifier of sticker file owner
sticker InputFile Yes A file with the sticker in .WEBP, .PNG, .TGS, or .WEBM format. See https://core.telegram.org/stickers for technical requirements. More information on Sending Files »
sticker_format String Yes Format of the sticker, must be one of “static”, “animated”, “video”

createNewStickerSet

Use this method to create a new sticker set owned by a user. The bot will be able to edit the sticker set thus created. Returns True on success.

Parameter Type Required Description
user_id Integer Yes User identifier of created sticker set owner
name String Yes Short name of sticker set, to be used in t.me/addstickers/ URLs (e.g., animals). Can contain only English letters, digits and underscores. Must begin with a letter, can't contain consecutive underscores and must end in "_by_<bot_username>". <bot_username> is case insensitive. 1-64 characters.
title String Yes Sticker set title, 1-64 characters
stickers Array of InputSticker Yes A JSON-serialized list of 1-50 initial stickers to be added to the sticker set
sticker_type String Optional Type of stickers in the set, pass “regular”, “mask”, or “custom_emoji”. By default, a regular sticker set is created.
needs_repainting Boolean Optional Pass True if stickers in the sticker set must be repainted to the color of text when used in messages, the accent color if used as emoji status, white on chat photos, or another appropriate color based on context; for custom emoji sticker sets only

addStickerToSet

Use this method to add a new sticker to a set created by the bot. Emoji sticker sets can have up to 200 stickers. Other sticker sets can have up to 120 stickers. Returns True on success.

Parameter Type Required Description
user_id Integer Yes User identifier of sticker set owner
name String Yes Sticker set name
sticker InputSticker Yes A JSON-serialized object with information about the added sticker. If exactly the same sticker had already been added to the set, then the set isn't changed.

setStickerPositionInSet

Use this method to move a sticker in a set created by the bot to a specific position. Returns True on success.

Parameter Type Required Description
sticker String Yes File identifier of the sticker
position Integer Yes New sticker position in the set, zero-based

deleteStickerFromSet

Use this method to delete a sticker from a set created by the bot. Returns True on success.

Parameter Type Required Description
sticker String Yes File identifier of the sticker

replaceStickerInSet

Use this method to replace an existing sticker in a sticker set with a new one. The method is equivalent to calling deleteStickerFromSet, then addStickerToSet, then setStickerPositionInSet. Returns True on success.

Parameter Type Required Description
user_id Integer Yes User identifier of the sticker set owner
name String Yes Sticker set name
old_sticker String Yes File identifier of the replaced sticker
sticker InputSticker Yes A JSON-serialized object with information about the added sticker. If exactly the same sticker had already been added to the set, then the set remains unchanged.

setStickerEmojiList

Use this method to change the list of emoji assigned to a regular or custom emoji sticker. The sticker must belong to a sticker set created by the bot. Returns True on success.

Parameter Type Required Description
sticker String Yes File identifier of the sticker
emoji_list Array of String Yes A JSON-serialized list of 1-20 emoji associated with the sticker

setStickerKeywords

Use this method to change search keywords assigned to a regular or custom emoji sticker. The sticker must belong to a sticker set created by the bot. Returns True on success.

Parameter Type Required Description
sticker String Yes File identifier of the sticker
keywords Array of String Optional A JSON-serialized list of 0-20 search keywords for the sticker with total length of up to 64 characters

setStickerMaskPosition

Use this method to change the mask position of a mask sticker. The sticker must belong to a sticker set that was created by the bot. Returns True on success.

Parameter Type Required Description
sticker String Yes File identifier of the sticker
mask_position MaskPosition Optional A JSON-serialized object with the position where the mask should be placed on faces. Omit the parameter to remove the mask position.

setStickerSetTitle

Use this method to set the title of a created sticker set. Returns True on success.

Parameter Type Required Description
name String Yes Sticker set name
title String Yes Sticker set title, 1-64 characters

setStickerSetThumbnail

Use this method to set the thumbnail of a regular or mask sticker set. The format of the thumbnail file must match the format of the stickers in the set. Returns True on success.

Parameter Type Required Description
name String Yes Sticker set name
user_id Integer Yes User identifier of the sticker set owner
thumbnail InputFile or String Optional A .WEBP or .PNG image with the thumbnail, must be up to 128 kilobytes in size and have a width and height of exactly 100px, or a .TGS animation with a thumbnail up to 32 kilobytes in size (see https://core.telegram.org/stickers#animation-requirements for animated sticker technical requirements), or a .WEBM video with the thumbnail up to 32 kilobytes in size; see https://core.telegram.org/stickers#video-requirements for video sticker technical requirements. Pass a file_id as a String to send a file that already exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a file from the Internet, or upload a new one using multipart/form-data. More information on Sending Files ». Animated and video sticker set thumbnails can't be uploaded via HTTP URL. If omitted, then the thumbnail is dropped and the first sticker is used as the thumbnail.
format String Yes Format of the thumbnail, must be one of “static” for a .WEBP or .PNG image, “animated” for a .TGS animation, or “video” for a .WEBM video

setCustomEmojiStickerSetThumbnail

Use this method to set the thumbnail of a custom emoji sticker set. Returns True on success.

Parameter Type Required Description
name String Yes Sticker set name
custom_emoji_id String Optional Custom emoji identifier of a sticker from the sticker set; pass an empty string to drop the thumbnail and use the first sticker as the thumbnail.

deleteStickerSet

Use this method to delete a sticker set that was created by the bot. Returns True on success.

Parameter Type Required Description
name String Yes Sticker set name