{
  "meta": {},
  "group": {
    "title": "Available types",
    "anchor": "available-types"
  },
  "object": {
    "anchor": "message",
    "name": "Message",
    "description": "This object represents a message.",
    "html_description": "<p>This object represents a message.</p>",
    "rst_description": "This object represents a message.",
    "annotations": [
      {
        "type": "Integer",
        "description": "Unique message identifier inside this chat. In specific instances (e.g., message containing a video sent to a big chat), the server might automatically schedule a message instead of sending it immediately. In such cases, this field will be 0 and the relevant message will be unusable until it is actually sent",
        "html_description": "<td>Unique message identifier inside this chat. In specific instances (e.g., message containing a video sent to a big chat), the server might automatically schedule a message instead of sending it immediately. In such cases, this field will be 0 and the relevant message will be unusable until it is actually sent</td>",
        "rst_description": "Unique message identifier inside this chat. In specific instances (e.g., message containing a video sent to a big chat), the server might automatically schedule a message instead of sending it immediately. In such cases, this field will be 0 and the relevant message will be unusable until it is actually sent\n",
        "name": "message_id",
        "required": true
      },
      {
        "type": "Integer",
        "description": "Unique identifier of a message thread to which the message belongs; for supergroups only",
        "html_description": "<td><em>Optional</em>. Unique identifier of a message thread to which the message belongs; for supergroups only</td>",
        "rst_description": "*Optional*. Unique identifier of a message thread to which the message belongs; for supergroups only\n",
        "name": "message_thread_id",
        "required": false
      },
      {
        "type": "User",
        "description": "Sender of the message; may be empty for messages sent to channels. For backward compatibility, if the message was sent on behalf of a chat, the field contains a fake sender user in non-channel chats",
        "html_description": "<td><em>Optional</em>. Sender of the message; may be empty for messages sent to channels. For backward compatibility, if the message was sent on behalf of a chat, the field contains a fake sender user in non-channel chats</td>",
        "rst_description": "*Optional*. Sender of the message; may be empty for messages sent to channels. For backward compatibility, if the message was sent on behalf of a chat, the field contains a fake sender user in non-channel chats\n",
        "name": "from",
        "required": false
      },
      {
        "type": "Chat",
        "description": "Sender of the message when sent on behalf of a chat. For example, the supergroup itself for messages sent by its anonymous administrators or a linked channel for messages automatically forwarded to the channel's discussion group. For backward compatibility, if the message was sent on behalf of a chat, the field from contains a fake sender user in non-channel chats.",
        "html_description": "<td><em>Optional</em>. Sender of the message when sent on behalf of a chat. For example, the supergroup itself for messages sent by its anonymous administrators or a linked channel for messages automatically forwarded to the channel's discussion group. For backward compatibility, if the message was sent on behalf of a chat, the field <em>from</em> contains a fake sender user in non-channel chats.</td>",
        "rst_description": "*Optional*. Sender of the message when sent on behalf of a chat. For example, the supergroup itself for messages sent by its anonymous administrators or a linked channel for messages automatically forwarded to the channel's discussion group. For backward compatibility, if the message was sent on behalf of a chat, the field *from* contains a fake sender user in non-channel chats.\n",
        "name": "sender_chat",
        "required": false
      },
      {
        "type": "Integer",
        "description": "If the sender of the message boosted the chat, the number of boosts added by the user",
        "html_description": "<td><em>Optional</em>. If the sender of the message boosted the chat, the number of boosts added by the user</td>",
        "rst_description": "*Optional*. If the sender of the message boosted the chat, the number of boosts added by the user\n",
        "name": "sender_boost_count",
        "required": false
      },
      {
        "type": "User",
        "description": "The bot that actually sent the message on behalf of the business account. Available only for outgoing messages sent on behalf of the connected business account.",
        "html_description": "<td><em>Optional</em>. The bot that actually sent the message on behalf of the business account. Available only for outgoing messages sent on behalf of the connected business account.</td>",
        "rst_description": "*Optional*. The bot that actually sent the message on behalf of the business account. Available only for outgoing messages sent on behalf of the connected business account.\n",
        "name": "sender_business_bot",
        "required": false
      },
      {
        "type": "Integer",
        "description": "Date the message was sent in Unix time. It is always a positive number, representing a valid date.",
        "html_description": "<td>Date the message was sent in Unix time. It is always a positive number, representing a valid date.</td>",
        "rst_description": "Date the message was sent in Unix time. It is always a positive number, representing a valid date.\n",
        "name": "date",
        "required": true
      },
      {
        "type": "String",
        "description": "Unique identifier of the business connection from which the message was received. If non-empty, the message belongs to a chat of the corresponding business account that is independent from any potential bot chat which might share the same identifier.",
        "html_description": "<td><em>Optional</em>. Unique identifier of the business connection from which the message was received. If non-empty, the message belongs to a chat of the corresponding business account that is independent from any potential bot chat which might share the same identifier.</td>",
        "rst_description": "*Optional*. Unique identifier of the business connection from which the message was received. If non-empty, the message belongs to a chat of the corresponding business account that is independent from any potential bot chat which might share the same identifier.\n",
        "name": "business_connection_id",
        "required": false
      },
      {
        "type": "Chat",
        "description": "Chat the message belongs to",
        "html_description": "<td>Chat the message belongs to</td>",
        "rst_description": "Chat the message belongs to\n",
        "name": "chat",
        "required": true
      },
      {
        "type": "MessageOrigin",
        "description": "Information about the original message for forwarded messages",
        "html_description": "<td><em>Optional</em>. Information about the original message for forwarded messages</td>",
        "rst_description": "*Optional*. Information about the original message for forwarded messages\n",
        "name": "forward_origin",
        "required": false
      },
      {
        "type": "True",
        "description": "True, if the message is sent to a forum topic",
        "html_description": "<td><em>Optional</em>. <em>True</em>, if the message is sent to a forum topic</td>",
        "rst_description": "*Optional*. :code:`True`, if the message is sent to a forum topic\n",
        "name": "is_topic_message",
        "required": false
      },
      {
        "type": "True",
        "description": "True, if the message is a channel post that was automatically forwarded to the connected discussion group",
        "html_description": "<td><em>Optional</em>. <em>True</em>, if the message is a channel post that was automatically forwarded to the connected discussion group</td>",
        "rst_description": "*Optional*. :code:`True`, if the message is a channel post that was automatically forwarded to the connected discussion group\n",
        "name": "is_automatic_forward",
        "required": false
      },
      {
        "type": "Message",
        "description": "For replies in the same chat and message thread, the original message. Note that the Message object in this field will not contain further reply_to_message fields even if it itself is a reply.",
        "html_description": "<td><em>Optional</em>. For replies in the same chat and message thread, the original message. Note that the Message object in this field will not contain further <em>reply_to_message</em> fields even if it itself is a reply.</td>",
        "rst_description": "*Optional*. For replies in the same chat and message thread, the original message. Note that the Message object in this field will not contain further *reply_to_message* fields even if it itself is a reply.\n",
        "name": "reply_to_message",
        "required": false
      },
      {
        "type": "ExternalReplyInfo",
        "description": "Information about the message that is being replied to, which may come from another chat or forum topic",
        "html_description": "<td><em>Optional</em>. Information about the message that is being replied to, which may come from another chat or forum topic</td>",
        "rst_description": "*Optional*. Information about the message that is being replied to, which may come from another chat or forum topic\n",
        "name": "external_reply",
        "required": false
      },
      {
        "type": "TextQuote",
        "description": "For replies that quote part of the original message, the quoted part of the message",
        "html_description": "<td><em>Optional</em>. For replies that quote part of the original message, the quoted part of the message</td>",
        "rst_description": "*Optional*. For replies that quote part of the original message, the quoted part of the message\n",
        "name": "quote",
        "required": false
      },
      {
        "type": "Story",
        "description": "For replies to a story, the original story",
        "html_description": "<td><em>Optional</em>. For replies to a story, the original story</td>",
        "rst_description": "*Optional*. For replies to a story, the original story\n",
        "name": "reply_to_story",
        "required": false
      },
      {
        "type": "User",
        "description": "Bot through which the message was sent",
        "html_description": "<td><em>Optional</em>. Bot through which the message was sent</td>",
        "rst_description": "*Optional*. Bot through which the message was sent\n",
        "name": "via_bot",
        "required": false
      },
      {
        "type": "Integer",
        "description": "Date the message was last edited in Unix time",
        "html_description": "<td><em>Optional</em>. Date the message was last edited in Unix time</td>",
        "rst_description": "*Optional*. Date the message was last edited in Unix time\n",
        "name": "edit_date",
        "required": false
      },
      {
        "type": "True",
        "description": "True, if the message can't be forwarded",
        "html_description": "<td><em>Optional</em>. <em>True</em>, if the message can't be forwarded</td>",
        "rst_description": "*Optional*. :code:`True`, if the message can't be forwarded\n",
        "name": "has_protected_content",
        "required": false
      },
      {
        "type": "True",
        "description": "True, if the message was sent by an implicit action, for example, as an away or a greeting business message, or as a scheduled message",
        "html_description": "<td><em>Optional</em>. True, if the message was sent by an implicit action, for example, as an away or a greeting business message, or as a scheduled message</td>",
        "rst_description": "*Optional*. True, if the message was sent by an implicit action, for example, as an away or a greeting business message, or as a scheduled message\n",
        "name": "is_from_offline",
        "required": false
      },
      {
        "type": "String",
        "description": "The unique identifier of a media message group this message belongs to",
        "html_description": "<td><em>Optional</em>. The unique identifier of a media message group this message belongs to</td>",
        "rst_description": "*Optional*. The unique identifier of a media message group this message belongs to\n",
        "name": "media_group_id",
        "required": false
      },
      {
        "type": "String",
        "description": "Signature of the post author for messages in channels, or the custom title of an anonymous group administrator",
        "html_description": "<td><em>Optional</em>. Signature of the post author for messages in channels, or the custom title of an anonymous group administrator</td>",
        "rst_description": "*Optional*. Signature of the post author for messages in channels, or the custom title of an anonymous group administrator\n",
        "name": "author_signature",
        "required": false
      },
      {
        "type": "String",
        "description": "For text messages, the actual UTF-8 text of the message",
        "html_description": "<td><em>Optional</em>. For text messages, the actual UTF-8 text of the message</td>",
        "rst_description": "*Optional*. For text messages, the actual UTF-8 text of the message\n",
        "name": "text",
        "required": false
      },
      {
        "type": "Array of MessageEntity",
        "description": "For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text",
        "html_description": "<td><em>Optional</em>. For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text</td>",
        "rst_description": "*Optional*. For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text\n",
        "name": "entities",
        "required": false
      },
      {
        "type": "LinkPreviewOptions",
        "description": "Options used for link preview generation for the message, if it is a text message and link preview options were changed",
        "html_description": "<td><em>Optional</em>. Options used for link preview generation for the message, if it is a text message and link preview options were changed</td>",
        "rst_description": "*Optional*. Options used for link preview generation for the message, if it is a text message and link preview options were changed\n",
        "name": "link_preview_options",
        "required": false
      },
      {
        "type": "String",
        "description": "Unique identifier of the message effect added to the message",
        "html_description": "<td><em>Optional</em>. Unique identifier of the message effect added to the message</td>",
        "rst_description": "*Optional*. Unique identifier of the message effect added to the message\n",
        "name": "effect_id",
        "required": false
      },
      {
        "type": "Animation",
        "description": "Message is an animation, information about the animation. For backward compatibility, when this field is set, the document field will also be set",
        "html_description": "<td><em>Optional</em>. Message is an animation, information about the animation. For backward compatibility, when this field is set, the <em>document</em> field will also be set</td>",
        "rst_description": "*Optional*. Message is an animation, information about the animation. For backward compatibility, when this field is set, the *document* field will also be set\n",
        "name": "animation",
        "required": false
      },
      {
        "type": "Audio",
        "description": "Message is an audio file, information about the file",
        "html_description": "<td><em>Optional</em>. Message is an audio file, information about the file</td>",
        "rst_description": "*Optional*. Message is an audio file, information about the file\n",
        "name": "audio",
        "required": false
      },
      {
        "type": "Document",
        "description": "Message is a general file, information about the file",
        "html_description": "<td><em>Optional</em>. Message is a general file, information about the file</td>",
        "rst_description": "*Optional*. Message is a general file, information about the file\n",
        "name": "document",
        "required": false
      },
      {
        "type": "PaidMediaInfo",
        "description": "Message contains paid media; information about the paid media",
        "html_description": "<td><em>Optional</em>. Message contains paid media; information about the paid media</td>",
        "rst_description": "*Optional*. Message contains paid media; information about the paid media\n",
        "name": "paid_media",
        "required": false
      },
      {
        "type": "Array of PhotoSize",
        "description": "Message is a photo, available sizes of the photo",
        "html_description": "<td><em>Optional</em>. Message is a photo, available sizes of the photo</td>",
        "rst_description": "*Optional*. Message is a photo, available sizes of the photo\n",
        "name": "photo",
        "required": false
      },
      {
        "type": "Sticker",
        "description": "Message is a sticker, information about the sticker",
        "html_description": "<td><em>Optional</em>. Message is a sticker, information about the sticker</td>",
        "rst_description": "*Optional*. Message is a sticker, information about the sticker\n",
        "name": "sticker",
        "required": false
      },
      {
        "type": "Story",
        "description": "Message is a forwarded story",
        "html_description": "<td><em>Optional</em>. Message is a forwarded story</td>",
        "rst_description": "*Optional*. Message is a forwarded story\n",
        "name": "story",
        "required": false
      },
      {
        "type": "Video",
        "description": "Message is a video, information about the video",
        "html_description": "<td><em>Optional</em>. Message is a video, information about the video</td>",
        "rst_description": "*Optional*. Message is a video, information about the video\n",
        "name": "video",
        "required": false
      },
      {
        "type": "VideoNote",
        "description": "Message is a video note, information about the video message",
        "html_description": "<td><em>Optional</em>. Message is a <a href=\"https://telegram.org/blog/video-messages-and-telescope\">video note</a>, information about the video message</td>",
        "rst_description": "*Optional*. Message is a `video note <https://telegram.org/blog/video-messages-and-telescope>`_, information about the video message\n",
        "name": "video_note",
        "required": false
      },
      {
        "type": "Voice",
        "description": "Message is a voice message, information about the file",
        "html_description": "<td><em>Optional</em>. Message is a voice message, information about the file</td>",
        "rst_description": "*Optional*. Message is a voice message, information about the file\n",
        "name": "voice",
        "required": false
      },
      {
        "type": "String",
        "description": "Caption for the animation, audio, document, paid media, photo, video or voice",
        "html_description": "<td><em>Optional</em>. Caption for the animation, audio, document, paid media, photo, video or voice</td>",
        "rst_description": "*Optional*. Caption for the animation, audio, document, paid media, photo, video or voice\n",
        "name": "caption",
        "required": false
      },
      {
        "type": "Array of MessageEntity",
        "description": "For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear in the caption",
        "html_description": "<td><em>Optional</em>. For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear in the caption</td>",
        "rst_description": "*Optional*. For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear in the caption\n",
        "name": "caption_entities",
        "required": false
      },
      {
        "type": "True",
        "description": "True, if the caption must be shown above the message media",
        "html_description": "<td><em>Optional</em>. True, if the caption must be shown above the message media</td>",
        "rst_description": "*Optional*. True, if the caption must be shown above the message media\n",
        "name": "show_caption_above_media",
        "required": false
      },
      {
        "type": "True",
        "description": "True, if the message media is covered by a spoiler animation",
        "html_description": "<td><em>Optional</em>. <em>True</em>, if the message media is covered by a spoiler animation</td>",
        "rst_description": "*Optional*. :code:`True`, if the message media is covered by a spoiler animation\n",
        "name": "has_media_spoiler",
        "required": false
      },
      {
        "type": "Contact",
        "description": "Message is a shared contact, information about the contact",
        "html_description": "<td><em>Optional</em>. Message is a shared contact, information about the contact</td>",
        "rst_description": "*Optional*. Message is a shared contact, information about the contact\n",
        "name": "contact",
        "required": false
      },
      {
        "type": "Dice",
        "description": "Message is a dice with random value",
        "html_description": "<td><em>Optional</em>. Message is a dice with random value</td>",
        "rst_description": "*Optional*. Message is a dice with random value\n",
        "name": "dice",
        "required": false
      },
      {
        "type": "Game",
        "description": "Message is a game, information about the game.",
        "html_description": "<td><em>Optional</em>. Message is a game, information about the game. <a href=\"#games\">More about games &#187;</a></td>",
        "rst_description": "*Optional*. Message is a game, information about the game. `More about games » <https://core.telegram.org/bots/api#games>`_\n",
        "name": "game",
        "required": false
      },
      {
        "type": "Poll",
        "description": "Message is a native poll, information about the poll",
        "html_description": "<td><em>Optional</em>. Message is a native poll, information about the poll</td>",
        "rst_description": "*Optional*. Message is a native poll, information about the poll\n",
        "name": "poll",
        "required": false
      },
      {
        "type": "Venue",
        "description": "Message is a venue, information about the venue. For backward compatibility, when this field is set, the location field will also be set",
        "html_description": "<td><em>Optional</em>. Message is a venue, information about the venue. For backward compatibility, when this field is set, the <em>location</em> field will also be set</td>",
        "rst_description": "*Optional*. Message is a venue, information about the venue. For backward compatibility, when this field is set, the *location* field will also be set\n",
        "name": "venue",
        "required": false
      },
      {
        "type": "Location",
        "description": "Message is a shared location, information about the location",
        "html_description": "<td><em>Optional</em>. Message is a shared location, information about the location</td>",
        "rst_description": "*Optional*. Message is a shared location, information about the location\n",
        "name": "location",
        "required": false
      },
      {
        "type": "Array of User",
        "description": "New members that were added to the group or supergroup and information about them (the bot itself may be one of these members)",
        "html_description": "<td><em>Optional</em>. New members that were added to the group or supergroup and information about them (the bot itself may be one of these members)</td>",
        "rst_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)\n",
        "name": "new_chat_members",
        "required": false
      },
      {
        "type": "User",
        "description": "A member was removed from the group, information about them (this member may be the bot itself)",
        "html_description": "<td><em>Optional</em>. A member was removed from the group, information about them (this member may be the bot itself)</td>",
        "rst_description": "*Optional*. A member was removed from the group, information about them (this member may be the bot itself)\n",
        "name": "left_chat_member",
        "required": false
      },
      {
        "type": "String",
        "description": "A chat title was changed to this value",
        "html_description": "<td><em>Optional</em>. A chat title was changed to this value</td>",
        "rst_description": "*Optional*. A chat title was changed to this value\n",
        "name": "new_chat_title",
        "required": false
      },
      {
        "type": "Array of PhotoSize",
        "description": "A chat photo was change to this value",
        "html_description": "<td><em>Optional</em>. A chat photo was change to this value</td>",
        "rst_description": "*Optional*. A chat photo was change to this value\n",
        "name": "new_chat_photo",
        "required": false
      },
      {
        "type": "True",
        "description": "Service message: the chat photo was deleted",
        "html_description": "<td><em>Optional</em>. Service message: the chat photo was deleted</td>",
        "rst_description": "*Optional*. Service message: the chat photo was deleted\n",
        "name": "delete_chat_photo",
        "required": false
      },
      {
        "type": "True",
        "description": "Service message: the group has been created",
        "html_description": "<td><em>Optional</em>. Service message: the group has been created</td>",
        "rst_description": "*Optional*. Service message: the group has been created\n",
        "name": "group_chat_created",
        "required": false
      },
      {
        "type": "True",
        "description": "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.",
        "html_description": "<td><em>Optional</em>. 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.</td>",
        "rst_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.\n",
        "name": "supergroup_chat_created",
        "required": false
      },
      {
        "type": "True",
        "description": "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.",
        "html_description": "<td><em>Optional</em>. 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.</td>",
        "rst_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.\n",
        "name": "channel_chat_created",
        "required": false
      },
      {
        "type": "MessageAutoDeleteTimerChanged",
        "description": "Service message: auto-delete timer settings changed in the chat",
        "html_description": "<td><em>Optional</em>. Service message: auto-delete timer settings changed in the chat</td>",
        "rst_description": "*Optional*. Service message: auto-delete timer settings changed in the chat\n",
        "name": "message_auto_delete_timer_changed",
        "required": false
      },
      {
        "type": "Integer",
        "description": "The group has been migrated to a supergroup with the specified identifier. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this identifier.",
        "html_description": "<td><em>Optional</em>. The group has been migrated to a supergroup with the specified identifier. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this identifier.</td>",
        "rst_description": "*Optional*. The group has been migrated to a supergroup with the specified identifier. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this identifier.\n",
        "name": "migrate_to_chat_id",
        "required": false
      },
      {
        "type": "Integer",
        "description": "The supergroup has been migrated from a group with the specified identifier. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this identifier.",
        "html_description": "<td><em>Optional</em>. The supergroup has been migrated from a group with the specified identifier. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this identifier.</td>",
        "rst_description": "*Optional*. The supergroup has been migrated from a group with the specified identifier. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this identifier.\n",
        "name": "migrate_from_chat_id",
        "required": false
      },
      {
        "type": "MaybeInaccessibleMessage",
        "description": "Specified message was pinned. Note that the Message object in this field will not contain further reply_to_message fields even if it itself is a reply.",
        "html_description": "<td><em>Optional</em>. Specified message was pinned. Note that the Message object in this field will not contain further <em>reply_to_message</em> fields even if it itself is a reply.</td>",
        "rst_description": "*Optional*. Specified message was pinned. Note that the Message object in this field will not contain further *reply_to_message* fields even if it itself is a reply.\n",
        "name": "pinned_message",
        "required": false
      },
      {
        "type": "Invoice",
        "description": "Message is an invoice for a payment, information about the invoice.",
        "html_description": "<td><em>Optional</em>. Message is an invoice for a <a href=\"#payments\">payment</a>, information about the invoice. <a href=\"#payments\">More about payments &#187;</a></td>",
        "rst_description": "*Optional*. Message is an invoice for a `payment <https://core.telegram.org/bots/api#payments>`_, information about the invoice. `More about payments » <https://core.telegram.org/bots/api#payments>`_\n",
        "name": "invoice",
        "required": false
      },
      {
        "type": "SuccessfulPayment",
        "description": "Message is a service message about a successful payment, information about the payment.",
        "html_description": "<td><em>Optional</em>. Message is a service message about a successful payment, information about the payment. <a href=\"#payments\">More about payments &#187;</a></td>",
        "rst_description": "*Optional*. Message is a service message about a successful payment, information about the payment. `More about payments » <https://core.telegram.org/bots/api#payments>`_\n",
        "name": "successful_payment",
        "required": false
      },
      {
        "type": "RefundedPayment",
        "description": "Message is a service message about a refunded payment, information about the payment.",
        "html_description": "<td><em>Optional</em>. Message is a service message about a refunded payment, information about the payment. <a href=\"#payments\">More about payments &#187;</a></td>",
        "rst_description": "*Optional*. Message is a service message about a refunded payment, information about the payment. `More about payments » <https://core.telegram.org/bots/api#payments>`_\n",
        "name": "refunded_payment",
        "required": false
      },
      {
        "type": "UsersShared",
        "description": "Service message: users were shared with the bot",
        "html_description": "<td><em>Optional</em>. Service message: users were shared with the bot</td>",
        "rst_description": "*Optional*. Service message: users were shared with the bot\n",
        "name": "users_shared",
        "required": false
      },
      {
        "type": "ChatShared",
        "description": "Service message: a chat was shared with the bot",
        "html_description": "<td><em>Optional</em>. Service message: a chat was shared with the bot</td>",
        "rst_description": "*Optional*. Service message: a chat was shared with the bot\n",
        "name": "chat_shared",
        "required": false
      },
      {
        "type": "String",
        "description": "The domain name of the website on which the user has logged in.",
        "html_description": "<td><em>Optional</em>. The domain name of the website on which the user has logged in. <a href=\"/widgets/login\">More about Telegram Login &#187;</a></td>",
        "rst_description": "*Optional*. The domain name of the website on which the user has logged in. `More about Telegram Login » <https://core.telegram.org/widgets/login>`_\n",
        "name": "connected_website",
        "required": false
      },
      {
        "type": "WriteAccessAllowed",
        "description": "Service message: the user allowed the bot to write messages after adding it to the attachment or side menu, launching a Web App from a link, or accepting an explicit request from a Web App sent by the method requestWriteAccess",
        "html_description": "<td><em>Optional</em>. Service message: the user allowed the bot to write messages after adding it to the attachment or side menu, launching a Web App from a link, or accepting an explicit request from a Web App sent by the method <a href=\"/bots/webapps#initializing-mini-apps\">requestWriteAccess</a></td>",
        "rst_description": "*Optional*. Service message: the user allowed the bot to write messages after adding it to the attachment or side menu, launching a Web App from a link, or accepting an explicit request from a Web App sent by the method `requestWriteAccess <https://core.telegram.org/bots/webapps#initializing-mini-apps>`_\n",
        "name": "write_access_allowed",
        "required": false
      },
      {
        "type": "PassportData",
        "description": "Telegram Passport data",
        "html_description": "<td><em>Optional</em>. Telegram Passport data</td>",
        "rst_description": "*Optional*. Telegram Passport data\n",
        "name": "passport_data",
        "required": false
      },
      {
        "type": "ProximityAlertTriggered",
        "description": "Service message. A user in the chat triggered another user's proximity alert while sharing Live Location.",
        "html_description": "<td><em>Optional</em>. Service message. A user in the chat triggered another user's proximity alert while sharing Live Location.</td>",
        "rst_description": "*Optional*. Service message. A user in the chat triggered another user's proximity alert while sharing Live Location.\n",
        "name": "proximity_alert_triggered",
        "required": false
      },
      {
        "type": "ChatBoostAdded",
        "description": "Service message: user boosted the chat",
        "html_description": "<td><em>Optional</em>. Service message: user boosted the chat</td>",
        "rst_description": "*Optional*. Service message: user boosted the chat\n",
        "name": "boost_added",
        "required": false
      },
      {
        "type": "ChatBackground",
        "description": "Service message: chat background set",
        "html_description": "<td><em>Optional</em>. Service message: chat background set</td>",
        "rst_description": "*Optional*. Service message: chat background set\n",
        "name": "chat_background_set",
        "required": false
      },
      {
        "type": "ForumTopicCreated",
        "description": "Service message: forum topic created",
        "html_description": "<td><em>Optional</em>. Service message: forum topic created</td>",
        "rst_description": "*Optional*. Service message: forum topic created\n",
        "name": "forum_topic_created",
        "required": false
      },
      {
        "type": "ForumTopicEdited",
        "description": "Service message: forum topic edited",
        "html_description": "<td><em>Optional</em>. Service message: forum topic edited</td>",
        "rst_description": "*Optional*. Service message: forum topic edited\n",
        "name": "forum_topic_edited",
        "required": false
      },
      {
        "type": "ForumTopicClosed",
        "description": "Service message: forum topic closed",
        "html_description": "<td><em>Optional</em>. Service message: forum topic closed</td>",
        "rst_description": "*Optional*. Service message: forum topic closed\n",
        "name": "forum_topic_closed",
        "required": false
      },
      {
        "type": "ForumTopicReopened",
        "description": "Service message: forum topic reopened",
        "html_description": "<td><em>Optional</em>. Service message: forum topic reopened</td>",
        "rst_description": "*Optional*. Service message: forum topic reopened\n",
        "name": "forum_topic_reopened",
        "required": false
      },
      {
        "type": "GeneralForumTopicHidden",
        "description": "Service message: the 'General' forum topic hidden",
        "html_description": "<td><em>Optional</em>. Service message: the 'General' forum topic hidden</td>",
        "rst_description": "*Optional*. Service message: the 'General' forum topic hidden\n",
        "name": "general_forum_topic_hidden",
        "required": false
      },
      {
        "type": "GeneralForumTopicUnhidden",
        "description": "Service message: the 'General' forum topic unhidden",
        "html_description": "<td><em>Optional</em>. Service message: the 'General' forum topic unhidden</td>",
        "rst_description": "*Optional*. Service message: the 'General' forum topic unhidden\n",
        "name": "general_forum_topic_unhidden",
        "required": false
      },
      {
        "type": "GiveawayCreated",
        "description": "Service message: a scheduled giveaway was created",
        "html_description": "<td><em>Optional</em>. Service message: a scheduled giveaway was created</td>",
        "rst_description": "*Optional*. Service message: a scheduled giveaway was created\n",
        "name": "giveaway_created",
        "required": false
      },
      {
        "type": "Giveaway",
        "description": "The message is a scheduled giveaway message",
        "html_description": "<td><em>Optional</em>. The message is a scheduled giveaway message</td>",
        "rst_description": "*Optional*. The message is a scheduled giveaway message\n",
        "name": "giveaway",
        "required": false
      },
      {
        "type": "GiveawayWinners",
        "description": "A giveaway with public winners was completed",
        "html_description": "<td><em>Optional</em>. A giveaway with public winners was completed</td>",
        "rst_description": "*Optional*. A giveaway with public winners was completed\n",
        "name": "giveaway_winners",
        "required": false
      },
      {
        "type": "GiveawayCompleted",
        "description": "Service message: a giveaway without public winners was completed",
        "html_description": "<td><em>Optional</em>. Service message: a giveaway without public winners was completed</td>",
        "rst_description": "*Optional*. Service message: a giveaway without public winners was completed\n",
        "name": "giveaway_completed",
        "required": false
      },
      {
        "type": "VideoChatScheduled",
        "description": "Service message: video chat scheduled",
        "html_description": "<td><em>Optional</em>. Service message: video chat scheduled</td>",
        "rst_description": "*Optional*. Service message: video chat scheduled\n",
        "name": "video_chat_scheduled",
        "required": false
      },
      {
        "type": "VideoChatStarted",
        "description": "Service message: video chat started",
        "html_description": "<td><em>Optional</em>. Service message: video chat started</td>",
        "rst_description": "*Optional*. Service message: video chat started\n",
        "name": "video_chat_started",
        "required": false
      },
      {
        "type": "VideoChatEnded",
        "description": "Service message: video chat ended",
        "html_description": "<td><em>Optional</em>. Service message: video chat ended</td>",
        "rst_description": "*Optional*. Service message: video chat ended\n",
        "name": "video_chat_ended",
        "required": false
      },
      {
        "type": "VideoChatParticipantsInvited",
        "description": "Service message: new participants invited to a video chat",
        "html_description": "<td><em>Optional</em>. Service message: new participants invited to a video chat</td>",
        "rst_description": "*Optional*. Service message: new participants invited to a video chat\n",
        "name": "video_chat_participants_invited",
        "required": false
      },
      {
        "type": "WebAppData",
        "description": "Service message: data sent by a Web App",
        "html_description": "<td><em>Optional</em>. Service message: data sent by a Web App</td>",
        "rst_description": "*Optional*. Service message: data sent by a Web App\n",
        "name": "web_app_data",
        "required": false
      },
      {
        "type": "InlineKeyboardMarkup",
        "description": "Inline keyboard attached to the message. login_url buttons are represented as ordinary url buttons.",
        "html_description": "<td><em>Optional</em>. Inline keyboard attached to the message. <code>login_url</code> buttons are represented as ordinary <code>url</code> buttons.</td>",
        "rst_description": "*Optional*. Inline keyboard attached to the message. :code:`login_url` buttons are represented as ordinary :code:`url` buttons.\n",
        "name": "reply_markup",
        "required": false
      },
      {
        "type": "Integer",
        "description": "For forwarded messages, date the original message was sent in Unix time",
        "html_description": "<td><em>Optional</em>. For forwarded messages, date the original message was sent in Unix time</td>",
        "rst_description": "*Optional*. For forwarded messages, date the original message was sent in Unix time\n",
        "name": "forward_date",
        "required": false,
        "deprecated": {
          "version": "7.0",
          "release_date": "2023-12-29"
        }
      },
      {
        "type": "User",
        "description": "For forwarded messages, sender of the original message",
        "html_description": "<td><em>Optional</em>. For forwarded messages, sender of the original message</td>",
        "rst_description": "*Optional*. For forwarded messages, sender of the original message\n",
        "name": "forward_from",
        "required": false,
        "deprecated": {
          "version": "7.0",
          "release_date": "2023-12-29"
        }
      },
      {
        "type": "Chat",
        "description": "For messages forwarded from channels or from anonymous administrators, information about the original sender chat",
        "html_description": "<td><em>Optional</em>. For messages forwarded from channels or from anonymous administrators, information about the original sender chat</td>",
        "rst_description": "*Optional*. For messages forwarded from channels or from anonymous administrators, information about the original sender chat\n",
        "name": "forward_from_chat",
        "required": false,
        "deprecated": {
          "version": "7.0",
          "release_date": "2023-12-29"
        }
      },
      {
        "type": "Integer",
        "description": "For messages forwarded from channels, identifier of the original message in the channel",
        "html_description": "<td><em>Optional</em>. For messages forwarded from channels, identifier of the original message in the channel</td>",
        "rst_description": "*Optional*. For messages forwarded from channels, identifier of the original message in the channel\n",
        "name": "forward_from_message_id",
        "required": false,
        "deprecated": {
          "version": "7.0",
          "release_date": "2023-12-29"
        }
      },
      {
        "type": "String",
        "description": "Sender's name for messages forwarded from users who disallow adding a link to their account in forwarded messages",
        "html_description": "<td><em>Optional</em>. Sender's name for messages forwarded from users who disallow adding a link to their account in forwarded messages</td>",
        "rst_description": "*Optional*. Sender's name for messages forwarded from users who disallow adding a link to their account in forwarded messages\n",
        "name": "forward_sender_name",
        "required": false,
        "deprecated": {
          "version": "7.0",
          "release_date": "2023-12-29"
        }
      },
      {
        "type": "String",
        "description": "For forwarded messages that were originally sent in channels or by an anonymous chat administrator, signature of the message sender if present",
        "html_description": "<td><em>Optional</em>. For forwarded messages that were originally sent in channels or by an anonymous chat administrator, signature of the message sender if present</td>",
        "rst_description": "*Optional*. For forwarded messages that were originally sent in channels or by an anonymous chat administrator, signature of the message sender if present\n",
        "name": "forward_signature",
        "required": false,
        "deprecated": {
          "version": "7.0",
          "release_date": "2023-12-29"
        }
      },
      {
        "type": "UserShared",
        "description": "Service message: a user was shared with the bot",
        "html_description": "<td><em>Optional</em>. Service message: a user was shared with the bot</td>",
        "rst_description": "*Optional*. Service message: a user was shared with the bot\n",
        "name": "user_shared",
        "required": false,
        "deprecated": {
          "version": "7.0",
          "release_date": "2023-12-29"
        }
      }
    ],
    "category": "types"
  }
}
