Structs

This object represents an animation file (GIF or H.264/MPEG-4 AVC video without sound). https://core.telegram.org/bots/api#animation

This object represents an audio file to be treated as music by the Telegram clients. https://core.telegram.org/bots/api#audio

This object represents a bot command. https://core.telegram.org/bots/api#botcommand

This object represents the scope to which bot commands are applied. Currently, the following 7 scopes are supported:

Represents the scope of bot commands, covering all group and supergroup chat administrators. https://core.telegram.org/bots/api#botcommandscopeallchatadministrators

Represents the scope of bot commands, covering all group and supergroup chats. https://core.telegram.org/bots/api#botcommandscopeallgroupchats

Represents the scope of bot commands, covering all private chats. https://core.telegram.org/bots/api#botcommandscopeallprivatechats

Represents the scope of bot commands, covering a specific chat. https://core.telegram.org/bots/api#botcommandscopechat

Represents the scope of bot commands, covering all administrators of a specific group or supergroup chat. https://core.telegram.org/bots/api#botcommandscopechatadministrators

Represents the scope of bot commands, covering a specific member of a group or supergroup chat. https://core.telegram.org/bots/api#botcommandscopechatmember

Represents the default scope of bot commands. Default commands are used if no commands with a narrower scope are specified for the user. https://core.telegram.org/bots/api#botcommandscopedefault

A placeholder, currently holds no information. Use BotFather to set up your game. https://core.telegram.org/bots/api#callbackgame

This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present. https://core.telegram.org/bots/api#callbackquery

This object represents a chat. https://core.telegram.org/bots/api#chat

Represents a location to which a chat is connected. https://core.telegram.org/bots/api#chatlocation

This object contains information about one member of a chat. Currently, the following 6 types of chat members are supported:

Represents a chat member that has some additional privileges. https://core.telegram.org/bots/api#chatmemberadministrator

Represents a chat member that was banned in the chat and can’t return to the chat or view chat messages. https://core.telegram.org/bots/api#chatmemberbanned

Represents a chat member that isn’t currently a member of the chat, but may join it themselves. https://core.telegram.org/bots/api#chatmemberleft

Represents a chat member that has no additional privileges or restrictions. https://core.telegram.org/bots/api#chatmembermember

Represents a chat member that owns the chat and has all administrator privileges. https://core.telegram.org/bots/api#chatmemberowner

Represents a chat member that is under certain restrictions in the chat. Supergroups only. https://core.telegram.org/bots/api#chatmemberrestricted

This object represents changes in the status of a chat member. https://core.telegram.org/bots/api#chatmemberupdated

Describes actions that a non-administrator user is allowed to take in a chat. https://core.telegram.org/bots/api#chatpermissions

This object represents a chat photo. https://core.telegram.org/bots/api#chatphoto

Represents a result of an inline query that was chosen by the user and sent to their chat partner. Note: It is necessary to enable inline feedback via @Botfather in order to receive these objects in updates. https://core.telegram.org/bots/api#choseninlineresult

This object represents a phone contact. https://core.telegram.org/bots/api#contact

This object represents an animated emoji that displays a random value. https://core.telegram.org/bots/api#dice

This object represents a general file (as opposed to photos, voice messages and audio files). https://core.telegram.org/bots/api#document

Contains data required for decrypting and authenticating EncryptedPassportElement. See the Telegram Passport Documentation for a complete description of the data decryption and authentication processes. https://core.telegram.org/bots/api#encryptedcredentials

Contains information about documents or other Telegram Passport elements shared with the bot by the user. https://core.telegram.org/bots/api#encryptedpassportelement

This object represents a file ready to be downloaded. The file can be downloaded via the link https://api.telegram.org/file/bot/<file_path>. It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling getFile. https://core.telegram.org/bots/api#file

Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot’s message and tapped ‘Reply’). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode. https://core.telegram.org/bots/api#forcereply

This object represents a game. Use BotFather to create and edit games, their short names will act as unique identifiers. https://core.telegram.org/bots/api#game

This object represents one row of the high scores table for a game. https://core.telegram.org/bots/api#gamehighscore

This object represents one button of an inline keyboard. You must use exactly one of the optional fields. https://core.telegram.org/bots/api#inlinekeyboardbutton

This object represents an inline keyboard that appears right next to the message it belongs to. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will display unsupported message. https://core.telegram.org/bots/api#inlinekeyboardmarkup

This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results. https://core.telegram.org/bots/api#inlinequery

This object represents one result of an inline query. Telegram clients currently support results of the following 20 types:

Represents a link to an MP3 audio file. By default, this audio file will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the audio. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultaudio

Represents a link to an MP3 audio file stored on the Telegram servers. By default, this audio file will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the audio. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultcachedaudio

Represents a link to a file stored on the Telegram servers. By default, this file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the file. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultcacheddocument

Represents a link to an animated GIF file stored on the Telegram servers. By default, this animated GIF file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with specified content instead of the animation. https://core.telegram.org/bots/api#inlinequeryresultcachedgif

Represents a link to a video animation (H.264/MPEG-4 AVC video without sound) stored on the Telegram servers. By default, this animated MPEG-4 file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation. https://core.telegram.org/bots/api#inlinequeryresultcachedmpeg4gif

Represents a link to a photo stored on the Telegram servers. By default, this photo will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the photo. https://core.telegram.org/bots/api#inlinequeryresultcachedphoto

Represents a link to a sticker stored on the Telegram servers. By default, this sticker will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the sticker. Note: This will only work in Telegram versions released after 9 April, 2016 for static stickers and after 06 July, 2019 for animated stickers. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultcachedsticker

Represents a link to a video file stored on the Telegram servers. By default, this video file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the video. https://core.telegram.org/bots/api#inlinequeryresultcachedvideo

Represents a link to a voice message stored on the Telegram servers. By default, this voice message will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the voice message. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultcachedvoice

Represents a contact with a phone number. By default, this contact will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the contact. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultcontact

Represents a link to a file. By default, this file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the file. Currently, only .PDF and .ZIP files can be sent using this method. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultdocument

Represents a Game. Note: This will only work in Telegram versions released after October 1, 2016. Older clients will not display any inline results if a game result is among them. https://core.telegram.org/bots/api#inlinequeryresultgame

Represents a link to an animated GIF file. By default, this animated GIF file will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation. https://core.telegram.org/bots/api#inlinequeryresultgif

Represents a location on a map. By default, the location will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the location. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultlocation

Represents a link to a video animation (H.264/MPEG-4 AVC video without sound). By default, this animated MPEG-4 file will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation. https://core.telegram.org/bots/api#inlinequeryresultmpeg4gif

Represents a link to a photo. By default, this photo will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the photo. https://core.telegram.org/bots/api#inlinequeryresultphoto

Represents a venue. By default, the venue will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the venue. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultvenue

Represents a link to a page containing an embedded video player or a video file. By default, this video file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the video. https://core.telegram.org/bots/api#inlinequeryresultvideo

Represents a link to a voice recording in an .OGG container encoded with OPUS. By default, this voice recording will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the the voice message. Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them. https://core.telegram.org/bots/api#inlinequeryresultvoice

Represents the content of a contact message to be sent as the result of an inline query. https://core.telegram.org/bots/api#inputcontactmessagecontent

This object represents the contents of a file to be uploaded. Must be posted using multipart/form-data in the usual way that files are uploaded via the browser. https://core.telegram.org/bots/api#inputfile

Represents the content of an invoice message to be sent as the result of an inline query. https://core.telegram.org/bots/api#inputinvoicemessagecontent

Represents the content of a location message to be sent as the result of an inline query. https://core.telegram.org/bots/api#inputlocationmessagecontent

This object represents the content of a media message to be sent. It should be one of

Represents an animation file (GIF or H.264/MPEG-4 AVC video without sound) to be sent. https://core.telegram.org/bots/api#inputmediaanimation

Represents an audio file to be treated as music to be sent. https://core.telegram.org/bots/api#inputmediaaudio

This object represents the content of a message to be sent as a result of an inline query. Telegram clients currently support the following 5 types:

Represents the content of a text message to be sent as the result of an inline query. https://core.telegram.org/bots/api#inputtextmessagecontent

Represents the content of a venue message to be sent as the result of an inline query. https://core.telegram.org/bots/api#inputvenuemessagecontent

This object contains basic information about an invoice. https://core.telegram.org/bots/api#invoice

This object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive. Note: request_contact and request_location options will only work in Telegram versions released after 9 April, 2016. Older clients will display unsupported message.Note: request_poll option will only work in Telegram versions released after 23 January, 2020. Older clients will display unsupported message. https://core.telegram.org/bots/api#keyboardbutton

This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed. https://core.telegram.org/bots/api#keyboardbuttonpolltype

This object represents a portion of the price for goods or services. https://core.telegram.org/bots/api#labeledprice

This object represents a point on the map. https://core.telegram.org/bots/api#location

This object represents a parameter of the inline keyboard button used to automatically authorize a user. Serves as a great replacement for the Telegram Login Widget when the user is coming from Telegram. All the user needs to do is tap/click a button and confirm that they want to log in: Telegram apps support these buttons as of version 5.7. https://core.telegram.org/bots/api#loginurl

This object describes the position on faces where a mask should be placed by default. https://core.telegram.org/bots/api#maskposition

This object represents a message. https://core.telegram.org/bots/api#message

This object represents a service message about a change in auto-delete timer settings. https://core.telegram.org/bots/api#messageautodeletetimerchanged

This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc. https://core.telegram.org/bots/api#messageentity

This object represents a unique message identifier. https://core.telegram.org/bots/api#messageid

This object represents information about an order. https://core.telegram.org/bots/api#orderinfo

Contains information about Telegram Passport data shared with the bot by the user. https://core.telegram.org/bots/api#passportdata

This object represents an error in the Telegram Passport element which was submitted that should be resolved by the user. It should be one of:

Represents an issue in one of the data fields that was provided by the user. The error is considered resolved when the field’s value changes. https://core.telegram.org/bots/api#passportelementerrordatafield

Represents an issue with a document scan. The error is considered resolved when the file with the document scan changes. https://core.telegram.org/bots/api#passportelementerrorfile

Represents an issue with a list of scans. The error is considered resolved when the list of files containing the scans changes. https://core.telegram.org/bots/api#passportelementerrorfiles

Represents an issue with the front side of a document. The error is considered resolved when the file with the front side of the document changes. https://core.telegram.org/bots/api#passportelementerrorfrontside

Represents an issue with the reverse side of a document. The error is considered resolved when the file with reverse side of the document changes. https://core.telegram.org/bots/api#passportelementerrorreverseside

Represents an issue with the selfie with a document. The error is considered resolved when the file with the selfie changes. https://core.telegram.org/bots/api#passportelementerrorselfie

Represents an issue with one of the files that constitute the translation of a document. The error is considered resolved when the file changes. https://core.telegram.org/bots/api#passportelementerrortranslationfile

Represents an issue with the translated version of a document. The error is considered resolved when a file with the document translation change. https://core.telegram.org/bots/api#passportelementerrortranslationfiles

Represents an issue in an unspecified place. The error is considered resolved when new data is added. https://core.telegram.org/bots/api#passportelementerrorunspecified

This object represents a file uploaded to Telegram Passport. Currently all Telegram Passport files are in JPEG format when decrypted and don’t exceed 10MB. https://core.telegram.org/bots/api#passportfile

This object represents one size of a photo or a file / sticker thumbnail. https://core.telegram.org/bots/api#photosize

This object contains information about a poll. https://core.telegram.org/bots/api#poll

This object represents an answer of a user in a non-anonymous poll. https://core.telegram.org/bots/api#pollanswer

This object contains information about one answer option in a poll. https://core.telegram.org/bots/api#polloption

This object contains information about an incoming pre-checkout query. https://core.telegram.org/bots/api#precheckoutquery

This object represents the content of a service message, sent whenever a user in the chat triggers a proximity alert set by another user. https://core.telegram.org/bots/api#proximityalerttriggered

This object represents a custom keyboard with reply options (see Introduction to bots for details and examples). https://core.telegram.org/bots/api#replykeyboardmarkup

Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see ReplyKeyboardMarkup). https://core.telegram.org/bots/api#replykeyboardremove

Contains information about why a request was unsuccessful. https://core.telegram.org/bots/api#responseparameters

This object represents a shipping address. https://core.telegram.org/bots/api#shippingaddress

This object represents one shipping option. https://core.telegram.org/bots/api#shippingoption

This object contains information about an incoming shipping query. https://core.telegram.org/bots/api#shippingquery

This object represents a sticker. https://core.telegram.org/bots/api#sticker

This object represents a sticker set. https://core.telegram.org/bots/api#stickerset

This object contains basic information about a successful payment. https://core.telegram.org/bots/api#successfulpayment

This object represents an incoming update.At most one of the optional parameters can be present in any given update. https://core.telegram.org/bots/api#update

This object represents a Telegram user or bot. https://core.telegram.org/bots/api#user

This object represent a user’s profile pictures. https://core.telegram.org/bots/api#userprofilephotos

This object represents a venue. https://core.telegram.org/bots/api#venue

This object represents a video file. https://core.telegram.org/bots/api#video

This object represents a video message (available in Telegram apps as of v.4.0). https://core.telegram.org/bots/api#videonote

This object represents a voice note. https://core.telegram.org/bots/api#voice

This object represents a service message about a voice chat ended in the chat. https://core.telegram.org/bots/api#voicechatended

This object represents a service message about new members invited to a voice chat. https://core.telegram.org/bots/api#voicechatparticipantsinvited

This object represents a service message about a voice chat scheduled in the chat. https://core.telegram.org/bots/api#voicechatscheduled

This object represents a service message about a voice chat started in the chat. Currently holds no information. https://core.telegram.org/bots/api#voicechatstarted

Contains information about the current status of a webhook. https://core.telegram.org/bots/api#webhookinfo