action telegram_post_get_updates { label: "post_getUpdates" description: "Use this method to receive incoming updates using long polling ([wiki](https://en.wikipedia.org/wiki/Push_technology#Long_polling)). An Array of [Update](https://core.telegram.org/bots/api/#update) objects is returned." provider: telegram method: POST path: "/getUpdates" encoding: form input: { type: "object" properties: { allowed_updates: { type: "array" description: "A JSON-serialized list of the update types you want your bot to receive. For example, specify [“message”, “edited\\_channel\\_post”, “callback\\_query”] to only receive updates of these types. See [Update](https://core.telegram.org/bots/api/#update) for a complete list of available update types. Specify an empty list to receive all updates regardless of type (default). If not specified, the previous setting will be used. \n\nPlease note that this parameter doesn't affect updates created before the call to the getUpdates, so unwanted updates may be received for a short period of time." items: { type: "string" } } limit: { type: "integer" description: "Limits the number of updates to be retrieved. Values between 1-100 are accepted. Defaults to 100." } offset: { type: "integer" description: "Identifier of the first update to be returned. Must be greater by one than the highest among the identifiers of previously received updates. By default, updates starting with the earliest unconfirmed update are returned. An update is considered confirmed as soon as [getUpdates](https://core.telegram.org/bots/api/#getupdates) is called with an *offset* higher than its *update\\_id*. The negative offset can be specified to retrieve updates starting from *-offset* update from the end of the updates queue. All previous updates will forgotten." } timeout: { type: "integer" description: "Timeout in seconds for long polling. Defaults to 0, i.e. usual short polling. Should be positive, short polling should be used for testing purposes only." } } } output: { type: "object" required: ["ok", "result"] properties: { ok: { type: "boolean" } result: { type: "array" items: { type: "object" description: "This [object](https://core.telegram.org/bots/api/#available-types) represents an incoming update. \nAt most **one** of the optional parameters can be present in any given update." required: ["update_id"] properties: { callback_query: { type: "object" description: "This object represents an incoming callback query from a callback button in an [inline keyboard](/bots#inline-keyboards-and-on-the-fly-updating). 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](https://core.telegram.org/bots/api/#inline-mode)), the field *inline\\_message\\_id* will be present. Exactly one of the fields *data* or *game\\_short\\_name* will be present." required: ["id", "from", "chat_instance"] properties: { chat_instance: { type: "string" description: "Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in [games](https://core.telegram.org/bots/api/#games)." } data: { type: "string" description: "*Optional*. Data associated with the callback button. Be aware that a bad client can send arbitrary data in this field." } from: { type: "object" description: "This object represents a Telegram user or bot." required: ["id", "is_bot", "first_name"] properties: { can_join_groups: { type: "boolean" description: "*Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme)." } can_read_all_group_messages: { type: "boolean" description: "*Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme)." } first_name: { type: "string" description: "User's or bot's first name" } id: { type: "integer" description: "Unique identifier for this user or bot" } is_bot: { type: "boolean" description: "True, if this user is a bot" } language_code: { type: "string" description: "*Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language" } last_name: { type: "string" description: "*Optional*. User's or bot's last name" } supports_inline_queries: { type: "boolean" description: "*Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme)." } username: { type: "string" description: "*Optional*. User's or bot's username" } } } game_short_name: { type: "string" description: "*Optional*. Short name of a [Game](https://core.telegram.org/bots/api/#games) to be returned, serves as the unique identifier for the game" } id: { type: "string" description: "Unique identifier for this query" } inline_message_id: { type: "string" description: "*Optional*. Identifier of the message sent via the bot in inline mode, that originated the query." } message: { type: "object" description: "This object represents a message." required: ["message_id", "date", "chat"] properties: { animation: { type: "object" description: "This object represents an animation file (GIF or H.264/MPEG-4 AVC video without sound)." required: ["file_id", "file_unique_id", "width", "height", "duration"] properties: { duration: { type: "integer" description: "Duration of the video in seconds as defined by sender" } file_id: { type: "string" description: "Identifier for this file, which can be used to download or reuse the file" } file_name: { type: "string" description: "*Optional*. Original animation filename as defined by sender" } file_size: { type: "integer" description: "*Optional*. File size" } file_unique_id: { type: "string" description: "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." } height: { type: "integer" description: "Video height as defined by sender" } mime_type: { type: "string" description: "*Optional*. MIME type of the file as defined by sender" } thumb: { type: "object" description: "This object represents one size of a photo or a [file](https://core.telegram.org/bots/api/#document) / [sticker](https://core.telegram.org/bots/api/#sticker) thumbnail." required: ["file_id", "file_unique_id", "width", "height"] properties: { file_id: { type: "string" description: "Identifier for this file, which can be used to download or reuse the file" } file_size: { type: "integer" description: "*Optional*. File size" } file_unique_id: { type: "string" description: "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." } height: { type: "integer" description: "Photo height" } width: { type: "integer" description: "Photo width" } } } width: { type: "integer" description: "Video width as defined by sender" } } } audio: { type: "object" description: "This object represents an audio file to be treated as music by the Telegram clients." required: ["file_id", "file_unique_id", "duration"] properties: { duration: { type: "integer" description: "Duration of the audio in seconds as defined by sender" } file_id: { type: "string" description: "Identifier for this file, which can be used to download or reuse the file" } file_name: { type: "string" description: "*Optional*. Original filename as defined by sender" } file_size: { type: "integer" description: "*Optional*. File size" } file_unique_id: { type: "string" description: "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." } mime_type: { type: "string" description: "*Optional*. MIME type of the file as defined by sender" } performer: { type: "string" description: "*Optional*. Performer of the audio as defined by sender or by audio tags" } thumb: { type: "object" additionalProperties: true } title: { type: "string" description: "*Optional*. Title of the audio as defined by sender or by audio tags" } } } author_signature: { type: "string" description: "*Optional*. Signature of the post author for messages in channels, or the custom title of an anonymous group administrator" } caption: { type: "string" description: "*Optional*. Caption for the animation, audio, document, photo, video or voice, 0-1024 characters" } caption_entities: { type: "array" description: "*Optional*. For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear in the caption" items: { type: "object" description: "This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc." required: ["type", "offset", "length"] properties: { language: { type: "string" description: "*Optional*. For “pre” only, the programming language of the entity text" } length: { type: "integer" description: "Length of the entity in UTF-16 code units" } offset: { type: "integer" description: "Offset in UTF-16 code units to the start of the entity" } type: { type: "string" description: "Type of the entity. Can be “mention” (`@username`), “hashtag” (`#hashtag`), “cashtag” (`$USD`), “bot\\_command” (`/start@jobs_bot`), “url” (`https://telegram.org`), “email” (`do-not-reply@telegram.org`), “phone\\_number” (`+1-212-555-0123`), “bold” (**bold text**), “italic” (*italic text*), “underline” (underlined text), “strikethrough” (strikethrough text), “code” (monowidth string), “pre” (monowidth block), “text\\_link” (for clickable text URLs), “text\\_mention” (for users [without usernames](https://telegram.org/blog/edit#new-mentions))" enum: ["mention", "hashtag", "cashtag", "bot_command", "url", "email", "phone_number", "bold", "italic", "underline", "strikethrough", "code", "pre", "text_link", "text_mention"] } url: { type: "string" description: "*Optional*. For “text\\_link” only, url that will be opened after user taps on the text" } user: { type: "object" additionalProperties: true } } } } channel_chat_created: { type: "boolean" description: "*Optional*. Service message: the channel has been created. This field can't be received in a message coming through updates, because bot can't be a member of a channel when it is created. It can only be found in reply\\_to\\_message if someone replies to a very first message in a channel." } chat: { type: "object" description: "This object represents a chat." required: ["id", "type"] properties: { bio: { type: "string" description: "*Optional*. Bio of the other party in a private chat. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat)." } can_set_sticker_set: { type: "boolean" description: "*Optional*. True, if the bot can change the group sticker set. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat)." } description: { type: "string" description: "*Optional*. Description, for groups, supergroups and channel chats. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat)." } first_name: { type: "string" description: "*Optional*. First name of the other party in a private chat" } id: { type: "integer" description: "Unique identifier for this chat. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier." } invite_link: { type: "string" description: "*Optional*. Chat invite link, for groups, supergroups and channel chats. Each administrator in a chat generates their own invite links, so the bot must first generate the link using [exportChatInviteLink](https://core.telegram.org/bots/api/#exportchatinvitelink). Returned only in [getChat](https://core.telegram.org/bots/api/#getchat)." } last_name: { type: "string" description: "*Optional*. Last name of the other party in a private chat" } linked_chat_id: { type: "integer" description: "*Optional*. Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. This identifier may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat)." } location: { type: "object" description: "Represents a location to which a chat is connected." required: ["location", "address"] properties: { address: { type: "string" description: "Location address; 1-64 characters, as defined by the chat owner" } location: { type: "object" description: "This object represents a point on the map." required: ["longitude", "latitude"] properties: { heading: { type: "object" additionalProperties: true } horizontal_accuracy: { type: "object" additionalProperties: true } latitude: { type: "object" additionalProperties: true } live_period: { type: "object" additionalProperties: true } longitude: { type: "object" additionalProperties: true } proximity_alert_radius: { type: "object" additionalProperties: true } } } } } permissions: { type: "object" description: "Describes actions that a non-administrator user is allowed to take in a chat." properties: { can_add_web_page_previews: { type: "boolean" description: "*Optional*. True, if the user is allowed to add web page previews to their messages, implies can\\_send\\_media\\_messages" } can_change_info: { type: "boolean" description: "*Optional*. True, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups" } can_invite_users: { type: "boolean" description: "*Optional*. True, if the user is allowed to invite new users to the chat" } can_pin_messages: { type: "boolean" description: "*Optional*. True, if the user is allowed to pin messages. Ignored in public supergroups" } can_send_media_messages: { type: "boolean" description: "*Optional*. True, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can\\_send\\_messages" } can_send_messages: { type: "boolean" description: "*Optional*. True, if the user is allowed to send text messages, contacts, locations and venues" } can_send_other_messages: { type: "boolean" description: "*Optional*. True, if the user is allowed to send animations, games, stickers and use inline bots, implies can\\_send\\_media\\_messages" } can_send_polls: { type: "boolean" description: "*Optional*. True, if the user is allowed to send polls, implies can\\_send\\_messages" } } } photo: { type: "object" description: "This object represents a chat photo." required: ["small_file_id", "small_file_unique_id", "big_file_id", "big_file_unique_id"] properties: { big_file_id: { type: "string" description: "File identifier of big (640x640) chat photo. This file\\_id can be used only for photo download and only for as long as the photo is not changed." } big_file_unique_id: { type: "string" description: "Unique file identifier of big (640x640) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file." } small_file_id: { type: "string" description: "File identifier of small (160x160) chat photo. This file\\_id can be used only for photo download and only for as long as the photo is not changed." } small_file_unique_id: { type: "string" description: "Unique file identifier of small (160x160) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file." } } } pinned_message: { type: "object" additionalProperties: true } slow_mode_delay: { type: "integer" description: "*Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat)." } sticker_set_name: { type: "string" description: "*Optional*. For supergroups, name of group sticker set. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat)." } title: { type: "string" description: "*Optional*. Title, for supergroups, channels and group chats" } type: { type: "string" description: "Type of chat, can be either “private”, “group”, “supergroup” or “channel”" enum: ["private", "group", "supergroup", "channel"] } username: { type: "string" description: "*Optional*. Username, for private chats, supergroups and channels if available" } } } connected_website: { type: "string" description: "*Optional*. The domain name of the website on which the user has logged in. [More about Telegram Login »](/widgets/login)" } contact: { type: "object" description: "This object represents a phone contact." required: ["phone_number", "first_name"] properties: { first_name: { type: "string" description: "Contact's first name" } last_name: { type: "string" description: "*Optional*. Contact's last name" } phone_number: { type: "string" description: "Contact's phone number" } user_id: { type: "integer" description: "*Optional*. Contact's user identifier in Telegram" } vcard: { type: "string" description: "*Optional*. Additional data about the contact in the form of a [vCard](https://en.wikipedia.org/wiki/VCard)" } } } date: { type: "integer" description: "Date the message was sent in Unix time" } delete_chat_photo: { type: "boolean" description: "*Optional*. Service message: the chat photo was deleted" } dice: { type: "object" description: "This object represents an animated emoji that displays a random value." required: ["emoji", "value"] properties: { emoji: { type: "string" description: "Emoji on which the dice throw animation is based" } value: { type: "integer" description: "Value of the dice, 1-6 for “\"🎲\"” and “\"🎯\"” base emoji, 1-5 for “\"🏀\"” and “\"⚽\"” base emoji, 1-64 for “\"🎰\"” base emoji" } } } document: { type: "object" description: "This object represents a general file (as opposed to [photos](https://core.telegram.org/bots/api/#photosize), [voice messages](https://core.telegram.org/bots/api/#voice) and [audio files](https://core.telegram.org/bots/api/#audio))." required: ["file_id", "file_unique_id"] properties: { file_id: { type: "string" description: "Identifier for this file, which can be used to download or reuse the file" } file_name: { type: "string" description: "*Optional*. Original filename as defined by sender" } file_size: { type: "integer" description: "*Optional*. File size" } file_unique_id: { type: "string" description: "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." } mime_type: { type: "string" description: "*Optional*. MIME type of the file as defined by sender" } thumb: { type: "object" additionalProperties: true } } } edit_date: { type: "integer" description: "*Optional*. Date the message was last edited in Unix time" } entities: { type: "array" description: "*Optional*. For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text" items: { type: "object" additionalProperties: true } } forward_date: { type: "integer" description: "*Optional*. For forwarded messages, date the original message was sent in Unix time" } forward_from: { type: "object" additionalProperties: true } forward_from_chat: { type: "object" additionalProperties: true } forward_from_message_id: { type: "integer" description: "*Optional*. For messages forwarded from channels, identifier of the original message in the channel" } forward_sender_name: { type: "string" description: "*Optional*. Sender's name for messages forwarded from users who disallow adding a link to their account in forwarded messages" } forward_signature: { type: "string" description: "*Optional*. For messages forwarded from channels, signature of the post author if present" } from: { type: "object" additionalProperties: true } game: { type: "object" description: "This object represents a game. Use BotFather to create and edit games, their short names will act as unique identifiers." required: ["title", "description", "photo"] properties: { animation: { type: "object" additionalProperties: true } description: { type: "string" description: "Description of the game" } photo: { type: "array" description: "Photo that will be displayed in the game message in chats." items: { type: "object" additionalProperties: true } } text: { type: "string" description: "*Optional*. Brief description of the game or high scores included in the game message. Can be automatically edited to include current high scores for the game when the bot calls [setGameScore](https://core.telegram.org/bots/api/#setgamescore), or manually edited using [editMessageText](https://core.telegram.org/bots/api/#editmessagetext). 0-4096 characters." } text_entities: { type: "array" description: "*Optional*. Special entities that appear in *text*, such as usernames, URLs, bot commands, etc." items: { type: "object" additionalProperties: true } } title: { type: "string" description: "Title of the game" } } } group_chat_created: { type: "boolean" description: "*Optional*. Service message: the group has been created" } invoice: { type: "object" description: "This object contains basic information about an invoice." required: ["title", "description", "start_parameter", "currency", "total_amount"] properties: { currency: { type: "string" description: "Three-letter ISO 4217 [currency](/bots/payments#supported-currencies) code" } description: { type: "string" description: "Product description" } start_parameter: { type: "string" description: "Unique bot deep-linking parameter that can be used to generate this invoice" } title: { type: "string" description: "Product name" } total_amount: { type: "integer" description: "Total price in the *smallest units* of the currency (integer, **not** float/double). For example, for a price of `US$ 1.45` pass `amount = 145`. See the *exp* parameter in [currencies.json](https://core.telegram.org/bots/payments/currencies.json), it shows the number of digits past the decimal point for each currency (2 for the majority of currencies)." } } } left_chat_member: { type: "object" additionalProperties: true } location: { type: "object" additionalProperties: true } media_group_id: { type: "string" description: "*Optional*. The unique identifier of a media message group this message belongs to" } message_id: { type: "integer" description: "Unique message identifier inside this chat" } migrate_from_chat_id: { type: "integer" description: "*Optional*. The supergroup has been migrated from a group with the specified identifier. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier." } migrate_to_chat_id: { type: "integer" description: "*Optional*. The group has been migrated to a supergroup with the specified identifier. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier." } new_chat_members: { type: "array" description: "*Optional*. New members that were added to the group or supergroup and information about them (the bot itself may be one of these members)" items: { type: "object" additionalProperties: true } } new_chat_photo: { type: "array" description: "*Optional*. A chat photo was change to this value" items: { type: "object" additionalProperties: true } } new_chat_title: { type: "string" description: "*Optional*. A chat title was changed to this value" } passport_data: { type: "object" description: "Contains information about Telegram Passport data shared with the bot by the user." required: ["data", "credentials"] properties: { credentials: { type: "object" description: "Contains data required for decrypting and authenticating [EncryptedPassportElement](https://core.telegram.org/bots/api/#encryptedpassportelement). See the [Telegram Passport Documentation](https://core.telegram.org/passport#receiving-information) for a complete description of the data decryption and authentication processes." required: ["data", "hash", "secret"] properties: { data: { type: "string" description: "Base64-encoded encrypted JSON-serialized data with unique user's payload, data hashes and secrets required for [EncryptedPassportElement](https://core.telegram.org/bots/api/#encryptedpassportelement) decryption and authentication" } hash: { type: "string" description: "Base64-encoded data hash for data authentication" } secret: { type: "string" description: "Base64-encoded secret, encrypted with the bot's public RSA key, required for data decryption" } } } data: { type: "array" description: "Array with information about documents and other Telegram Passport elements that was shared with the bot" items: { type: "object" description: "Contains information about documents or other Telegram Passport elements shared with the bot by the user." required: ["type", "hash"] properties: { data: { type: "object" additionalProperties: true } email: { type: "object" additionalProperties: true } files: { type: "object" additionalProperties: true } front_side: { type: "object" additionalProperties: true } hash: { type: "object" additionalProperties: true } phone_number: { type: "object" additionalProperties: true } reverse_side: { type: "object" additionalProperties: true } selfie: { type: "object" additionalProperties: true } translation: { type: "object" additionalProperties: true } type: { type: "object" additionalProperties: true } } } } } } photo: { type: "array" description: "*Optional*. Message is a photo, available sizes of the photo" items: { type: "object" additionalProperties: true } } pinned_message: { type: "object" additionalProperties: true } poll: { type: "object" description: "This object contains information about a poll." required: ["id", "question", "options", "total_voter_count", "is_closed", "is_anonymous", "type", "allows_multiple_answers"] properties: { allows_multiple_answers: { type: "boolean" description: "True, if the poll allows multiple answers" } close_date: { type: "integer" description: "*Optional*. Point in time (Unix timestamp) when the poll will be automatically closed" } correct_option_id: { type: "integer" description: "*Optional*. 0-based identifier of the correct answer option. Available only for polls in the quiz mode, which are closed, or was sent (not forwarded) by the bot or to the private chat with the bot." } explanation: { type: "string" description: "*Optional*. Text that is shown when a user chooses an incorrect answer or taps on the lamp icon in a quiz-style poll, 0-200 characters" } explanation_entities: { type: "array" description: "*Optional*. Special entities like usernames, URLs, bot commands, etc. that appear in the *explanation*" items: { type: "object" additionalProperties: true } } id: { type: "string" description: "Unique poll identifier" } is_anonymous: { type: "boolean" description: "True, if the poll is anonymous" } is_closed: { type: "boolean" description: "True, if the poll is closed" } open_period: { type: "integer" description: "*Optional*. Amount of time in seconds the poll will be active after creation" } options: { type: "array" description: "List of poll options" items: { type: "object" description: "This object contains information about one answer option in a poll." required: ["text", "voter_count"] properties: { text: { type: "object" additionalProperties: true } voter_count: { type: "object" additionalProperties: true } } } } question: { type: "string" description: "Poll question, 1-255 characters" } total_voter_count: { type: "integer" description: "Total number of users that voted in the poll" } type: { type: "string" description: "Poll type, currently can be “regular” or “quiz”" } } } proximity_alert_triggered: { type: "object" description: "This object represents the content of a service message, sent whenever a user in the chat triggers a proximity alert set by another user." required: ["traveler", "watcher", "distance"] properties: { distance: { type: "integer" description: "The distance between the users" } traveler: { type: "object" additionalProperties: true } watcher: { type: "object" additionalProperties: true } } } reply_markup: { type: "object" description: "This object represents an [inline keyboard](https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating) that appears right next to the message it belongs to." required: ["inline_keyboard"] properties: { inline_keyboard: { type: "array" description: "Array of button rows, each represented by an Array of [InlineKeyboardButton](https://core.telegram.org/bots/api/#inlinekeyboardbutton) objects" items: { type: "array" items: { type: "object" additionalProperties: true } } } } } reply_to_message: { type: "object" additionalProperties: true } sender_chat: { type: "object" additionalProperties: true } sticker: { type: "object" description: "This object represents a sticker." required: ["file_id", "file_unique_id", "width", "height", "is_animated"] properties: { emoji: { type: "string" description: "*Optional*. Emoji associated with the sticker" } file_id: { type: "string" description: "Identifier for this file, which can be used to download or reuse the file" } file_size: { type: "integer" description: "*Optional*. File size" } file_unique_id: { type: "string" description: "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." } height: { type: "integer" description: "Sticker height" } is_animated: { type: "boolean" description: "*True*, if the sticker is [animated](https://telegram.org/blog/animated-stickers)" } mask_position: { type: "object" description: "This object describes the position on faces where a mask should be placed by default." required: ["point", "x_shift", "y_shift", "scale"] properties: { point: { type: "string" description: "The part of the face relative to which the mask should be placed. One of “forehead”, “eyes”, “mouth”, or “chin”." enum: ["forehead", "eyes", "mouth", "chin"] } scale: { type: "number" description: "Mask scaling coefficient. For example, 2.0 means double size." } x_shift: { type: "number" description: "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: { type: "number" description: "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." } } } set_name: { type: "string" description: "*Optional*. Name of the sticker set to which the sticker belongs" } thumb: { type: "object" additionalProperties: true } width: { type: "integer" description: "Sticker width" } } } successful_payment: { type: "object" description: "This object contains basic information about a successful payment." required: ["currency", "total_amount", "invoice_payload", "telegram_payment_charge_id", "provider_payment_charge_id"] properties: { currency: { type: "string" description: "Three-letter ISO 4217 [currency](/bots/payments#supported-currencies) code" } invoice_payload: { type: "string" description: "Bot specified invoice payload" } order_info: { type: "object" description: "This object represents information about an order." properties: { email: { type: "string" description: "*Optional*. User email" } name: { type: "string" description: "*Optional*. User name" } phone_number: { type: "string" description: "*Optional*. User's phone number" } shipping_address: { type: "object" description: "This object represents a shipping address." required: ["country_code", "state", "city", "street_line1", "street_line2", "post_code"] properties: { city: { type: "object" additionalProperties: true } country_code: { type: "object" additionalProperties: true } post_code: { type: "object" additionalProperties: true } state: { type: "object" additionalProperties: true } street_line1: { type: "object" additionalProperties: true } street_line2: { type: "object" additionalProperties: true } } } } } provider_payment_charge_id: { type: "string" description: "Provider payment identifier" } shipping_option_id: { type: "string" description: "*Optional*. Identifier of the shipping option chosen by the user" } telegram_payment_charge_id: { type: "string" description: "Telegram payment identifier" } total_amount: { type: "integer" description: "Total price in the *smallest units* of the currency (integer, **not** float/double). For example, for a price of `US$ 1.45` pass `amount = 145`. See the *exp* parameter in [currencies.json](https://core.telegram.org/bots/payments/currencies.json), it shows the number of digits past the decimal point for each currency (2 for the majority of currencies)." } } } supergroup_chat_created: { type: "boolean" description: "*Optional*. Service message: the supergroup has been created. This field can't be received in a message coming through updates, because bot can't be a member of a supergroup when it is created. It can only be found in reply\\_to\\_message if someone replies to a very first message in a directly created supergroup." } text: { type: "string" description: "*Optional*. For text messages, the actual UTF-8 text of the message, 0-4096 characters" } venue: { type: "object" description: "This object represents a venue." required: ["location", "title", "address"] properties: { address: { type: "string" description: "Address of the venue" } foursquare_id: { type: "string" description: "*Optional*. Foursquare identifier of the venue" } foursquare_type: { type: "string" description: "*Optional*. Foursquare type of the venue. (For example, “arts\\_entertainment/default”, “arts\\_entertainment/aquarium” or “food/icecream”.)" } google_place_id: { type: "string" description: "*Optional*. Google Places identifier of the venue" } google_place_type: { type: "string" description: "*Optional*. Google Places type of the venue. (See [supported types](https://developers.google.com/places/web-service/supported_types).)" } location: { type: "object" additionalProperties: true } title: { type: "string" description: "Name of the venue" } } } via_bot: { type: "object" additionalProperties: true } video: { type: "object" description: "This object represents a video file." required: ["file_id", "file_unique_id", "width", "height", "duration"] properties: { duration: { type: "integer" description: "Duration of the video in seconds as defined by sender" } file_id: { type: "string" description: "Identifier for this file, which can be used to download or reuse the file" } file_name: { type: "string" description: "*Optional*. Original filename as defined by sender" } file_size: { type: "integer" description: "*Optional*. File size" } file_unique_id: { type: "string" description: "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." } height: { type: "integer" description: "Video height as defined by sender" } mime_type: { type: "string" description: "*Optional*. Mime type of a file as defined by sender" } thumb: { type: "object" additionalProperties: true } width: { type: "integer" description: "Video width as defined by sender" } } } video_note: { type: "object" description: "This object represents a [video message](https://telegram.org/blog/video-messages-and-telescope) (available in Telegram apps as of [v.4.0](https://telegram.org/blog/video-messages-and-telescope))." required: ["file_id", "file_unique_id", "length", "duration"] properties: { duration: { type: "integer" description: "Duration of the video in seconds as defined by sender" } file_id: { type: "string" description: "Identifier for this file, which can be used to download or reuse the file" } file_size: { type: "integer" description: "*Optional*. File size" } file_unique_id: { type: "string" description: "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." } length: { type: "integer" description: "Video width and height (diameter of the video message) as defined by sender" } thumb: { type: "object" additionalProperties: true } } } voice: { type: "object" description: "This object represents a voice note." required: ["file_id", "file_unique_id", "duration"] properties: { duration: { type: "integer" description: "Duration of the audio in seconds as defined by sender" } file_id: { type: "string" description: "Identifier for this file, which can be used to download or reuse the file" } file_size: { type: "integer" description: "*Optional*. File size" } file_unique_id: { type: "string" description: "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." } mime_type: { type: "string" description: "*Optional*. MIME type of the file as defined by sender" } } } } } } } channel_post: { type: "object" additionalProperties: true } chosen_inline_result: { type: "object" description: "Represents a [result](https://core.telegram.org/bots/api/#inlinequeryresult) of an inline query that was chosen by the user and sent to their chat partner." required: ["result_id", "from", "query"] properties: { from: { type: "object" additionalProperties: true } inline_message_id: { type: "string" description: "*Optional*. Identifier of the sent inline message. Available only if there is an [inline keyboard](https://core.telegram.org/bots/api/#inlinekeyboardmarkup) attached to the message. Will be also received in [callback queries](https://core.telegram.org/bots/api/#callbackquery) and can be used to [edit](https://core.telegram.org/bots/api/#updating-messages) the message." } location: { type: "object" additionalProperties: true } query: { type: "string" description: "The query that was used to obtain the result" } result_id: { type: "string" description: "The unique identifier for the result that was chosen" } } } edited_channel_post: { type: "object" additionalProperties: true } edited_message: { type: "object" additionalProperties: true } inline_query: { type: "object" description: "This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results." required: ["id", "from", "query", "offset"] properties: { from: { type: "object" additionalProperties: true } id: { type: "string" description: "Unique identifier for this query" } location: { type: "object" additionalProperties: true } offset: { type: "string" description: "Offset of the results to be returned, can be controlled by the bot" } query: { type: "string" description: "Text of the query (up to 256 characters)" } } } message: { type: "object" additionalProperties: true } poll: { type: "object" additionalProperties: true } poll_answer: { type: "object" description: "This object represents an answer of a user in a non-anonymous poll." required: ["poll_id", "user", "option_ids"] properties: { option_ids: { type: "array" description: "0-based identifiers of answer options, chosen by the user. May be empty if the user retracted their vote." items: { type: "integer" } } poll_id: { type: "string" description: "Unique poll identifier" } user: { type: "object" additionalProperties: true } } } pre_checkout_query: { type: "object" description: "This object contains information about an incoming pre-checkout query." required: ["id", "from", "currency", "total_amount", "invoice_payload"] properties: { currency: { type: "string" description: "Three-letter ISO 4217 [currency](/bots/payments#supported-currencies) code" } from: { type: "object" additionalProperties: true } id: { type: "string" description: "Unique query identifier" } invoice_payload: { type: "string" description: "Bot specified invoice payload" } order_info: { type: "object" additionalProperties: true } shipping_option_id: { type: "string" description: "*Optional*. Identifier of the shipping option chosen by the user" } total_amount: { type: "integer" description: "Total price in the *smallest units* of the currency (integer, **not** float/double). For example, for a price of `US$ 1.45` pass `amount = 145`. See the *exp* parameter in [currencies.json](https://core.telegram.org/bots/payments/currencies.json), it shows the number of digits past the decimal point for each currency (2 for the majority of currencies)." } } } shipping_query: { type: "object" description: "This object contains information about an incoming shipping query." required: ["id", "from", "invoice_payload", "shipping_address"] properties: { from: { type: "object" additionalProperties: true } id: { type: "string" description: "Unique query identifier" } invoice_payload: { type: "string" description: "Bot specified invoice payload" } shipping_address: { type: "object" additionalProperties: true } } } update_id: { type: "integer" description: "The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This ID becomes especially handy if you're using [Webhooks](https://core.telegram.org/bots/api/#setwebhook), since it allows you to ignore repeated updates or to restore the correct update sequence, should they get out of order. If there are no new updates for at least a week, then identifier of the next update will be chosen randomly instead of sequentially." } } } } } } }