Added full support of Bot API 7.1 (#1417)

* Added full support of Bot API 7.1

* Added changelog
This commit is contained in:
Alex Root Junior 2024-02-16 23:44:35 +02:00 committed by GitHub
parent e5176b4434
commit 75323ac8c3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
72 changed files with 702 additions and 461 deletions

View file

@ -35,3 +35,5 @@ extract:
- forward_origin
- external_reply
- link_preview_options
- sender_boost_count
- reply_to_story

View file

@ -36,7 +36,7 @@
"name": "inline_message_id"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Latitude of new location",
"html_description": "<td>Latitude of new location</td>",
@ -44,7 +44,7 @@
"name": "latitude"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Longitude of new location",
"html_description": "<td>Longitude of new location</td>",
@ -52,7 +52,7 @@
"name": "longitude"
},
{
"type": "Float number",
"type": "Float",
"required": false,
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td>The radius of uncertainty for the location, measured in meters; 0-1500</td>",

View file

@ -38,9 +38,9 @@
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege",
"html_description": "<td>Pass <em>True</em> if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege</td>",
"rst_description": "Pass :code:`True` if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege\n",
"description": "Pass True if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.",
"html_description": "<td>Pass <em>True</em> if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.</td>",
"rst_description": "Pass :code:`True` if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.\n",
"name": "can_manage_chat"
},
{
@ -91,6 +91,30 @@
"rst_description": "Pass :code:`True` if the administrator can invite new users to the chat\n",
"name": "can_invite_users"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can post stories to the chat",
"html_description": "<td>Pass <em>True</em> if the administrator can post stories to the chat</td>",
"rst_description": "Pass :code:`True` if the administrator can post stories to the chat\n",
"name": "can_post_stories"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can edit stories posted by other users",
"html_description": "<td>Pass <em>True</em> if the administrator can edit stories posted by other users</td>",
"rst_description": "Pass :code:`True` if the administrator can edit stories posted by other users\n",
"name": "can_edit_stories"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can delete stories posted by other users",
"html_description": "<td>Pass <em>True</em> if the administrator can delete stories posted by other users</td>",
"rst_description": "Pass :code:`True` if the administrator can delete stories posted by other users\n",
"name": "can_delete_stories"
},
{
"type": "Boolean",
"required": false,
@ -115,30 +139,6 @@
"rst_description": "Pass :code:`True` if the administrator can pin messages, supergroups only\n",
"name": "can_pin_messages"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can post stories in the channel; channels only",
"html_description": "<td>Pass <em>True</em> if the administrator can post stories in the channel; channels only</td>",
"rst_description": "Pass :code:`True` if the administrator can post stories in the channel; channels only\n",
"name": "can_post_stories"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can edit stories posted by other users; channels only",
"html_description": "<td>Pass <em>True</em> if the administrator can edit stories posted by other users; channels only</td>",
"rst_description": "Pass :code:`True` if the administrator can edit stories posted by other users; channels only\n",
"name": "can_edit_stories"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can delete stories posted by other users; channels only",
"html_description": "<td>Pass <em>True</em> if the administrator can delete stories posted by other users; channels only</td>",
"rst_description": "Pass :code:`True` if the administrator can delete stories posted by other users; channels only\n",
"name": "can_delete_stories"
},
{
"type": "Boolean",
"required": false,

View file

@ -28,7 +28,7 @@
"name": "message_thread_id"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Latitude of the location",
"html_description": "<td>Latitude of the location</td>",
@ -36,7 +36,7 @@
"name": "latitude"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Longitude of the location",
"html_description": "<td>Longitude of the location</td>",
@ -44,7 +44,7 @@
"name": "longitude"
},
{
"type": "Float number",
"type": "Float",
"required": false,
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td>The radius of uncertainty for the location, measured in meters; 0-1500</td>",

View file

@ -28,7 +28,7 @@
"name": "message_thread_id"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Latitude of the venue",
"html_description": "<td>Latitude of the venue</td>",
@ -36,7 +36,7 @@
"name": "latitude"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Longitude of the venue",
"html_description": "<td>Longitude of the venue</td>",

View file

@ -1,7 +1,7 @@
{
"api": {
"version": "7.0",
"release_date": "2023-12-29"
"version": "7.1",
"release_date": "2024-02-16"
},
"items": [
{
@ -17,9 +17,9 @@
"annotations": [
{
"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, 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.",
"html_description": "<td>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 <a href=\"#setwebhook\">webhooks</a>, 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.</td>",
"rst_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.\n",
"description": "The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This identifier becomes especially handy if you're using webhooks, 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.",
"html_description": "<td>The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This identifier becomes especially handy if you're using <a href=\"#setwebhook\">webhooks</a>, 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.</td>",
"rst_description": "The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This identifier 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.\n",
"name": "update_id",
"required": true
},
@ -33,9 +33,9 @@
},
{
"type": "Message",
"description": "New version of a message that is known to the bot and was edited",
"html_description": "<td><em>Optional</em>. New version of a message that is known to the bot and was edited</td>",
"rst_description": "*Optional*. New version of a message that is known to the bot and was edited\n",
"description": "New version of a message that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.",
"html_description": "<td><em>Optional</em>. New version of a message that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.</td>",
"rst_description": "*Optional*. New version of a message that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.\n",
"name": "edited_message",
"required": false
},
@ -49,9 +49,9 @@
},
{
"type": "Message",
"description": "New version of a channel post that is known to the bot and was edited",
"html_description": "<td><em>Optional</em>. New version of a channel post that is known to the bot and was edited</td>",
"rst_description": "*Optional*. New version of a channel post that is known to the bot and was edited\n",
"description": "New version of a channel post that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.",
"html_description": "<td><em>Optional</em>. New version of a channel post that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.</td>",
"rst_description": "*Optional*. New version of a channel post that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.\n",
"name": "edited_channel_post",
"required": false
},
@ -65,9 +65,9 @@
},
{
"type": "MessageReactionCountUpdated",
"description": "Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify \"message_reaction_count\" in the list of allowed_updates to receive these updates.",
"html_description": "<td><em>Optional</em>. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify <code>\"message_reaction_count\"</code> in the list of <em>allowed_updates</em> to receive these updates.</td>",
"rst_description": "*Optional*. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify :code:`\"message_reaction_count\"` in the list of *allowed_updates* to receive these updates.\n",
"description": "Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify \"message_reaction_count\" in the list of allowed_updates to receive these updates. The updates are grouped and can be sent with delay up to a few minutes.",
"html_description": "<td><em>Optional</em>. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify <code>\"message_reaction_count\"</code> in the list of <em>allowed_updates</em> to receive these updates. The updates are grouped and can be sent with delay up to a few minutes.</td>",
"rst_description": "*Optional*. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify :code:`\"message_reaction_count\"` in the list of *allowed_updates* to receive these updates. The updates are grouped and can be sent with delay up to a few minutes.\n",
"name": "message_reaction_count",
"required": false
},
@ -113,9 +113,9 @@
},
{
"type": "Poll",
"description": "New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot",
"html_description": "<td><em>Optional</em>. New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot</td>",
"rst_description": "*Optional*. New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot\n",
"description": "New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot",
"html_description": "<td><em>Optional</em>. New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot</td>",
"rst_description": "*Optional*. New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot\n",
"name": "poll",
"required": false
},
@ -701,12 +701,20 @@
},
{
"type": "Integer",
"description": "For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user; in seconds. Returned only in getChat.",
"html_description": "<td><em>Optional</em>. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user; in seconds. Returned only in <a href=\"#getchat\">getChat</a>.</td>",
"rst_description": "*Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user; in seconds. Returned only in :class:`aiogram.methods.get_chat.GetChat`.\n",
"description": "For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds. Returned only in getChat.",
"html_description": "<td><em>Optional</em>. For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds. Returned only in <a href=\"#getchat\">getChat</a>.</td>",
"rst_description": "*Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds. Returned only in :class:`aiogram.methods.get_chat.GetChat`.\n",
"name": "slow_mode_delay",
"required": false
},
{
"type": "Integer",
"description": "For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions. Returned only in getChat.",
"html_description": "<td><em>Optional</em>. For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions. Returned only in <a href=\"#getchat\">getChat</a>.</td>",
"rst_description": "*Optional*. For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions. Returned only in :class:`aiogram.methods.get_chat.GetChat`.\n",
"name": "unrestrict_boost_count",
"required": false
},
{
"type": "Integer",
"description": "The time after which all messages sent to the chat will be automatically deleted; in seconds. Returned only in getChat.",
@ -763,6 +771,14 @@
"name": "can_set_sticker_set",
"required": false
},
{
"type": "String",
"description": "For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. Returned only in getChat.",
"html_description": "<td><em>Optional</em>. For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. Returned only in <a href=\"#getchat\">getChat</a>.</td>",
"rst_description": "*Optional*. For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. Returned only in :class:`aiogram.methods.get_chat.GetChat`.\n",
"name": "custom_emoji_sticker_set_name",
"required": false
},
{
"type": "Integer",
"description": "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.",
@ -821,6 +837,14 @@
"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": "Integer",
"description": "Date the message was sent in Unix time. It is always a positive number, representing a valid date.",
@ -885,6 +909,14 @@
"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",
@ -1253,6 +1285,14 @@
"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": "ForumTopicCreated",
"description": "Service message: forum topic created",
@ -2257,10 +2297,27 @@
{
"anchor": "story",
"name": "Story",
"description": "This object represents a message about a forwarded story in the chat. Currently holds no information.",
"html_description": "<p>This object represents a message about a forwarded story in the chat. Currently holds no information.</p>",
"rst_description": "This object represents a message about a forwarded story in the chat. Currently holds no information.",
"annotations": [],
"description": "This object represents a story.",
"html_description": "<p>This object represents a story.</p>",
"rst_description": "This object represents a story.",
"annotations": [
{
"type": "Chat",
"description": "Chat that posted the story",
"html_description": "<td>Chat that posted the story</td>",
"rst_description": "Chat that posted the story\n",
"name": "chat",
"required": true
},
{
"type": "Integer",
"description": "Unique identifier for the story in the chat",
"html_description": "<td>Unique identifier for the story in the chat</td>",
"rst_description": "Unique identifier for the story in the chat\n",
"name": "id",
"required": true
}
],
"category": "types"
},
{
@ -2735,7 +2792,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td><em>Optional</em>. The radius of uncertainty for the location, measured in meters; 0-1500</td>",
"rst_description": "*Optional*. The radius of uncertainty for the location, measured in meters; 0-1500\n",
@ -2913,6 +2970,24 @@
],
"category": "types"
},
{
"anchor": "chatboostadded",
"name": "ChatBoostAdded",
"description": "This object represents a service message about a user boosting a chat.",
"html_description": "<p>This object represents a service message about a user boosting a chat.</p>",
"rst_description": "This object represents a service message about a user boosting a chat.",
"annotations": [
{
"type": "Integer",
"description": "Number of boosts added by the user",
"html_description": "<td>Number of boosts added by the user</td>",
"rst_description": "Number of boosts added by the user\n",
"name": "boost_count",
"required": true
}
],
"category": "types"
},
{
"anchor": "forumtopiccreated",
"name": "ForumTopicCreated",
@ -3258,9 +3333,9 @@
},
{
"type": "Integer",
"description": "Identifier of the messsage with the giveaway in the chat",
"html_description": "<td>Identifier of the messsage with the giveaway in the chat</td>",
"rst_description": "Identifier of the messsage with the giveaway in the chat\n",
"description": "Identifier of the message with the giveaway in the chat",
"html_description": "<td>Identifier of the message with the giveaway in the chat</td>",
"rst_description": "Identifier of the message with the giveaway in the chat\n",
"name": "giveaway_message_id",
"required": true
},
@ -3398,17 +3473,17 @@
},
{
"type": "Boolean",
"description": "True, if the media in the link preview is suppposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the media in the link preview is suppposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview</td>",
"rst_description": "*Optional*. :code:`True`, if the media in the link preview is suppposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview\n",
"description": "True, if the media in the link preview is supposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the media in the link preview is supposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview</td>",
"rst_description": "*Optional*. :code:`True`, if the media in the link preview is supposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview\n",
"name": "prefer_small_media",
"required": false
},
{
"type": "Boolean",
"description": "True, if the media in the link preview is suppposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the media in the link preview is suppposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview</td>",
"rst_description": "*Optional*. :code:`True`, if the media in the link preview is suppposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview\n",
"description": "True, if the media in the link preview is supposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the media in the link preview is supposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview</td>",
"rst_description": "*Optional*. :code:`True`, if the media in the link preview is supposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview\n",
"name": "prefer_large_media",
"required": false
},
@ -3558,9 +3633,9 @@
},
{
"type": "Boolean",
"description": "Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.\n\nExample: A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply (has <em>reply_to_message_id</em>), sender of the original message.<br/>\n<br/>\n<em>Example:</em> A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.</td>",
"rst_description": "*Optional*. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message.\n\n\n\n*Example:* A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.\n",
"description": "Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n\nExample: A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.<br/>\n<br/>\n<em>Example:</em> A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.</td>",
"rst_description": "*Optional*. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n\n\n\n*Example:* A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.\n",
"name": "selective",
"required": false
}
@ -3570,9 +3645,9 @@
{
"anchor": "keyboardbutton",
"name": "KeyboardButton",
"description": "This object represents one button of the reply keyboard. For simple text buttons, String can be used instead of this object to specify the button text. The optional fields web_app, request_users, request_chat, request_contact, request_location, and request_poll are mutually exclusive.\nNote: request_contact and request_location options will only work in Telegram versions released after 9 April, 2016. Older clients will display unsupported message.\nNote: request_poll option will only work in Telegram versions released after 23 January, 2020. Older clients will display unsupported message.\nNote: web_app option will only work in Telegram versions released after 16 April, 2022. Older clients will display unsupported message.\nNote: request_users and request_chat options will only work in Telegram versions released after 3 February, 2023. Older clients will display unsupported message.",
"html_description": "<p>This object represents one button of the reply keyboard. For simple text buttons, <em>String</em> can be used instead of this object to specify the button text. The optional fields <em>web_app</em>, <em>request_users</em>, <em>request_chat</em>, <em>request_contact</em>, <em>request_location</em>, and <em>request_poll</em> are mutually exclusive.</p><p><strong>Note:</strong> <em>request_contact</em> and <em>request_location</em> options will only work in Telegram versions released after 9 April, 2016. Older clients will display <em>unsupported message</em>.<br/>\n<strong>Note:</strong> <em>request_poll</em> option will only work in Telegram versions released after 23 January, 2020. Older clients will display <em>unsupported message</em>.<br/>\n<strong>Note:</strong> <em>web_app</em> option will only work in Telegram versions released after 16 April, 2022. Older clients will display <em>unsupported message</em>.<br/>\n<strong>Note:</strong> <em>request_users</em> and <em>request_chat</em> options will only work in Telegram versions released after 3 February, 2023. Older clients will display <em>unsupported message</em>.</p>",
"rst_description": "This object represents one button of the reply keyboard. For simple text buttons, *String* can be used instead of this object to specify the button text. The optional fields *web_app*, *request_users*, *request_chat*, *request_contact*, *request_location*, and *request_poll* are mutually exclusive.\n**Note:** *request_contact* and *request_location* options will only work in Telegram versions released after 9 April, 2016. Older clients will display *unsupported message*.\n\n**Note:** *request_poll* option will only work in Telegram versions released after 23 January, 2020. Older clients will display *unsupported message*.\n\n**Note:** *web_app* option will only work in Telegram versions released after 16 April, 2022. Older clients will display *unsupported message*.\n\n**Note:** *request_users* and *request_chat* options will only work in Telegram versions released after 3 February, 2023. Older clients will display *unsupported message*.",
"description": "This object represents one button of the reply keyboard. For simple text buttons, String can be used instead of this object to specify the button text. The optional fields web_app, request_users, request_chat, request_contact, request_location, and request_poll are mutually exclusive.\nNote: request_users and request_chat options will only work in Telegram versions released after 3 February, 2023. Older clients will display unsupported message.",
"html_description": "<p>This object represents one button of the reply keyboard. For simple text buttons, <em>String</em> can be used instead of this object to specify the button text. The optional fields <em>web_app</em>, <em>request_users</em>, <em>request_chat</em>, <em>request_contact</em>, <em>request_location</em>, and <em>request_poll</em> are mutually exclusive.</p><p><strong>Note:</strong> <em>request_users</em> and <em>request_chat</em> options will only work in Telegram versions released after 3 February, 2023. Older clients will display <em>unsupported message</em>.</p>",
"rst_description": "This object represents one button of the reply keyboard. For simple text buttons, *String* can be used instead of this object to specify the button text. The optional fields *web_app*, *request_users*, *request_chat*, *request_contact*, *request_location*, and *request_poll* are mutually exclusive.\n**Note:** *request_users* and *request_chat* options will only work in Telegram versions released after 3 February, 2023. Older clients will display *unsupported message*.",
"annotations": [
{
"type": "String",
@ -3784,9 +3859,9 @@
},
{
"type": "Boolean",
"description": "Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.\n\nExample: A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply (has <em>reply_to_message_id</em>), sender of the original message.<br/>\n<br/>\n<em>Example:</em> A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.</td>",
"rst_description": "*Optional*. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message.\n\n\n\n*Example:* A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.\n",
"description": "Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n\nExample: A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.<br/>\n<br/>\n<em>Example:</em> A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.</td>",
"rst_description": "*Optional*. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n\n\n\n*Example:* A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.\n",
"name": "selective",
"required": false
}
@ -3796,9 +3871,9 @@
{
"anchor": "inlinekeyboardmarkup",
"name": "InlineKeyboardMarkup",
"description": "This object represents an inline keyboard that appears right next to the message it belongs to.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will display unsupported message.",
"html_description": "<p>This object represents an <a href=\"/bots/features#inline-keyboards\">inline keyboard</a> that appears right next to the message it belongs to.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will display <em>unsupported message</em>.</p>",
"rst_description": "This object represents an `inline keyboard <https://core.telegram.org/bots/features#inline-keyboards>`_ that appears right next to the message it belongs to.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will display *unsupported message*.",
"description": "This object represents an inline keyboard that appears right next to the message it belongs to.",
"html_description": "<p>This object represents an <a href=\"/bots/features#inline-keyboards\">inline keyboard</a> that appears right next to the message it belongs to.</p>",
"rst_description": "This object represents an `inline keyboard <https://core.telegram.org/bots/features#inline-keyboards>`_ that appears right next to the message it belongs to.",
"annotations": [
{
"type": "Array of Array of InlineKeyboardButton",
@ -3828,9 +3903,9 @@
},
{
"type": "String",
"description": "HTTP or tg:// URL to be opened when the button is pressed. Links tg://user?id=<user_id> can be used to mention a user by their ID without using a username, if this is allowed by their privacy settings.",
"html_description": "<td><em>Optional</em>. HTTP or tg:// URL to be opened when the button is pressed. Links <code>tg://user?id=&lt;user_id&gt;</code> can be used to mention a user by their ID without using a username, if this is allowed by their privacy settings.</td>",
"rst_description": "*Optional*. HTTP or tg:// URL to be opened when the button is pressed. Links :code:`tg://user?id=<user_id>` can be used to mention a user by their ID without using a username, if this is allowed by their privacy settings.\n",
"description": "HTTP or tg:// URL to be opened when the button is pressed. Links tg://user?id=<user_id> can be used to mention a user by their identifier without using a username, if this is allowed by their privacy settings.",
"html_description": "<td><em>Optional</em>. HTTP or tg:// URL to be opened when the button is pressed. Links <code>tg://user?id=&lt;user_id&gt;</code> can be used to mention a user by their identifier without using a username, if this is allowed by their privacy settings.</td>",
"rst_description": "*Optional*. HTTP or tg:// URL to be opened when the button is pressed. Links :code:`tg://user?id=<user_id>` can be used to mention a user by their identifier without using a username, if this is allowed by their privacy settings.\n",
"name": "url",
"required": false
},
@ -4084,9 +4159,9 @@
},
{
"type": "Boolean",
"description": "Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply (has <em>reply_to_message_id</em>), sender of the original message.</td>",
"rst_description": "*Optional*. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message.\n",
"description": "Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.</td>",
"rst_description": "*Optional*. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n",
"name": "selective",
"required": false
}
@ -4234,9 +4309,9 @@
},
{
"type": "Boolean",
"description": "True, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege",
"html_description": "<td><em>True</em>, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege</td>",
"rst_description": ":code:`True`, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege\n",
"description": "True, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.",
"html_description": "<td><em>True</em>, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.</td>",
"rst_description": ":code:`True`, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.\n",
"name": "can_manage_chat",
"required": true
},
@ -4288,6 +4363,30 @@
"name": "can_invite_users",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can post stories to the chat",
"html_description": "<td><em>True</em>, if the administrator can post stories to the chat</td>",
"rst_description": ":code:`True`, if the administrator can post stories to the chat\n",
"name": "can_post_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can edit stories posted by other users",
"html_description": "<td><em>True</em>, if the administrator can edit stories posted by other users</td>",
"rst_description": ":code:`True`, if the administrator can edit stories posted by other users\n",
"name": "can_edit_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can delete stories posted by other users",
"html_description": "<td><em>True</em>, if the administrator can delete stories posted by other users</td>",
"rst_description": ":code:`True`, if the administrator can delete stories posted by other users\n",
"name": "can_delete_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can post messages in the channel, or access channel statistics; channels only",
@ -4312,30 +4411,6 @@
"name": "can_pin_messages",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can post stories in the channel; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can post stories in the channel; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can post stories in the channel; channels only\n",
"name": "can_post_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can edit stories posted by other users; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can edit stories posted by other users; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can edit stories posted by other users; channels only\n",
"name": "can_edit_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can delete stories posted by other users; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can delete stories posted by other users; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can delete stories posted by other users; channels only\n",
"name": "can_delete_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the user is allowed to create, rename, close, and reopen forum topics; supergroups only",
@ -4505,9 +4580,9 @@
},
{
"type": "Boolean",
"description": "True, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege",
"html_description": "<td><em>True</em>, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege</td>",
"rst_description": ":code:`True`, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege\n",
"description": "True, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.",
"html_description": "<td><em>True</em>, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.</td>",
"rst_description": ":code:`True`, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.\n",
"name": "can_manage_chat",
"required": true
},
@ -4559,6 +4634,30 @@
"name": "can_invite_users",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can post stories to the chat",
"html_description": "<td><em>True</em>, if the administrator can post stories to the chat</td>",
"rst_description": ":code:`True`, if the administrator can post stories to the chat\n",
"name": "can_post_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can edit stories posted by other users",
"html_description": "<td><em>True</em>, if the administrator can edit stories posted by other users</td>",
"rst_description": ":code:`True`, if the administrator can edit stories posted by other users\n",
"name": "can_edit_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can delete stories posted by other users",
"html_description": "<td><em>True</em>, if the administrator can delete stories posted by other users</td>",
"rst_description": ":code:`True`, if the administrator can delete stories posted by other users\n",
"name": "can_delete_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can post messages in the channel, or access channel statistics; channels only",
@ -4583,30 +4682,6 @@
"name": "can_pin_messages",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can post stories in the channel; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can post stories in the channel; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can post stories in the channel; channels only\n",
"name": "can_post_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can edit stories posted by other users; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can edit stories posted by other users; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can edit stories posted by other users; channels only\n",
"name": "can_edit_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can delete stories posted by other users; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can delete stories posted by other users; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can delete stories posted by other users; channels only\n",
"name": "can_delete_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the user is allowed to create, rename, close, and reopen forum topics; supergroups only",
@ -5797,9 +5872,9 @@
},
{
"type": "ChatBoost",
"description": "Infomation about the chat boost",
"html_description": "<td>Infomation about the chat boost</td>",
"rst_description": "Infomation about the chat boost\n",
"description": "Information about the chat boost",
"html_description": "<td>Information about the chat boost</td>",
"rst_description": "Information about the chat boost\n",
"name": "boost",
"required": true
}
@ -7572,7 +7647,7 @@
"name": "message_thread_id"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Latitude of the location",
"html_description": "<td>Latitude of the location</td>",
@ -7580,7 +7655,7 @@
"name": "latitude"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Longitude of the location",
"html_description": "<td>Longitude of the location</td>",
@ -7588,7 +7663,7 @@
"name": "longitude"
},
{
"type": "Float number",
"type": "Float",
"required": false,
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td>The radius of uncertainty for the location, measured in meters; 0-1500</td>",
@ -7678,7 +7753,7 @@
"name": "message_thread_id"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Latitude of the venue",
"html_description": "<td>Latitude of the venue</td>",
@ -7686,7 +7761,7 @@
"name": "latitude"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Longitude of the venue",
"html_description": "<td>Longitude of the venue</td>",
@ -8374,9 +8449,9 @@
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege",
"html_description": "<td>Pass <em>True</em> if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege</td>",
"rst_description": "Pass :code:`True` if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege\n",
"description": "Pass True if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.",
"html_description": "<td>Pass <em>True</em> if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.</td>",
"rst_description": "Pass :code:`True` if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.\n",
"name": "can_manage_chat"
},
{
@ -8427,6 +8502,30 @@
"rst_description": "Pass :code:`True` if the administrator can invite new users to the chat\n",
"name": "can_invite_users"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can post stories to the chat",
"html_description": "<td>Pass <em>True</em> if the administrator can post stories to the chat</td>",
"rst_description": "Pass :code:`True` if the administrator can post stories to the chat\n",
"name": "can_post_stories"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can edit stories posted by other users",
"html_description": "<td>Pass <em>True</em> if the administrator can edit stories posted by other users</td>",
"rst_description": "Pass :code:`True` if the administrator can edit stories posted by other users\n",
"name": "can_edit_stories"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can delete stories posted by other users",
"html_description": "<td>Pass <em>True</em> if the administrator can delete stories posted by other users</td>",
"rst_description": "Pass :code:`True` if the administrator can delete stories posted by other users\n",
"name": "can_delete_stories"
},
{
"type": "Boolean",
"required": false,
@ -8451,30 +8550,6 @@
"rst_description": "Pass :code:`True` if the administrator can pin messages, supergroups only\n",
"name": "can_pin_messages"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can post stories in the channel; channels only",
"html_description": "<td>Pass <em>True</em> if the administrator can post stories in the channel; channels only</td>",
"rst_description": "Pass :code:`True` if the administrator can post stories in the channel; channels only\n",
"name": "can_post_stories"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can edit stories posted by other users; channels only",
"html_description": "<td>Pass <em>True</em> if the administrator can edit stories posted by other users; channels only</td>",
"rst_description": "Pass :code:`True` if the administrator can edit stories posted by other users; channels only\n",
"name": "can_edit_stories"
},
{
"type": "Boolean",
"required": false,
"description": "Pass True if the administrator can delete stories posted by other users; channels only",
"html_description": "<td>Pass <em>True</em> if the administrator can delete stories posted by other users; channels only</td>",
"rst_description": "Pass :code:`True` if the administrator can delete stories posted by other users; channels only\n",
"name": "can_delete_stories"
},
{
"type": "Boolean",
"required": false,
@ -10050,7 +10125,7 @@
"name": "inline_message_id"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Latitude of new location",
"html_description": "<td>Latitude of new location</td>",
@ -10058,7 +10133,7 @@
"name": "latitude"
},
{
"type": "Float number",
"type": "Float",
"required": true,
"description": "Longitude of new location",
"html_description": "<td>Longitude of new location</td>",
@ -10066,7 +10141,7 @@
"name": "longitude"
},
{
"type": "Float number",
"type": "Float",
"required": false,
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td>The radius of uncertainty for the location, measured in meters; 0-1500</td>",
@ -10489,7 +10564,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"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.",
"html_description": "<td>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.</td>",
"rst_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.\n",
@ -10497,7 +10572,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"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.",
"html_description": "<td>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.</td>",
"rst_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.\n",
@ -10505,7 +10580,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "Mask scaling coefficient. For example, 2.0 means double size.",
"html_description": "<td>Mask scaling coefficient. For example, 2.0 means double size.</td>",
"rst_description": "Mask scaling coefficient. For example, 2.0 means double size.\n",
@ -11782,9 +11857,9 @@
{
"anchor": "inlinequeryresultaudio",
"name": "InlineQueryResultAudio",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a link to an MP3 audio file. By default, this audio file will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the audio.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a link to an MP3 audio file. By default, this audio file will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the audio.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -11880,9 +11955,9 @@
{
"anchor": "inlinequeryresultvoice",
"name": "InlineQueryResultVoice",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the the voice message.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the the voice message.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -11970,9 +12045,9 @@
{
"anchor": "inlinequeryresultdocument",
"name": "InlineQueryResultDocument",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a link to a file. By default, this file will be sent by the user with an optional caption. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the file. Currently, only <strong>.PDF</strong> and <strong>.ZIP</strong> files can be sent using this method.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a link to a file. By default, this file will be sent by the user with an optional caption. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the file. Currently, only <strong>.PDF</strong> and <strong>.ZIP</strong> files can be sent using this method.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -12092,9 +12167,9 @@
{
"anchor": "inlinequeryresultlocation",
"name": "InlineQueryResultLocation",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a location on a map. By default, the location will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the location.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a location on a map. By default, the location will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the location.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -12113,7 +12188,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "Location latitude in degrees",
"html_description": "<td>Location latitude in degrees</td>",
"rst_description": "Location latitude in degrees\n",
@ -12121,7 +12196,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "Location longitude in degrees",
"html_description": "<td>Location longitude in degrees</td>",
"rst_description": "Location longitude in degrees\n",
@ -12137,7 +12212,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td><em>Optional</em>. The radius of uncertainty for the location, measured in meters; 0-1500</td>",
"rst_description": "*Optional*. The radius of uncertainty for the location, measured in meters; 0-1500\n",
@ -12214,9 +12289,9 @@
{
"anchor": "inlinequeryresultvenue",
"name": "InlineQueryResultVenue",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a venue. By default, the venue will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the venue.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a venue. By default, the venue will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the venue.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -12344,9 +12419,9 @@
{
"anchor": "inlinequeryresultcontact",
"name": "InlineQueryResultContact",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a contact with a phone number. By default, this contact will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the contact.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a contact with a phone number. By default, this contact will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the contact.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -12442,9 +12517,9 @@
{
"anchor": "inlinequeryresultgame",
"name": "InlineQueryResultGame",
"description": "Represents a Game.\nNote: 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.",
"html_description": "<p>Represents a <a href=\"#games\">Game</a>.</p><p><strong>Note:</strong> 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.</p>",
"rst_description": "Represents a `Game <https://core.telegram.org/bots/api#games>`_.\n**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.",
"description": "Represents a Game.",
"html_description": "<p>Represents a <a href=\"#games\">Game</a>.</p>",
"rst_description": "Represents a `Game <https://core.telegram.org/bots/api#games>`_.",
"annotations": [
{
"type": "String",
@ -12738,9 +12813,9 @@
{
"anchor": "inlinequeryresultcachedsticker",
"name": "InlineQueryResultCachedSticker",
"description": "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.\nNote: 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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the sticker.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016 for static stickers and after 06 July, 2019 for <a href=\"https://telegram.org/blog/animated-stickers\">animated stickers</a>. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016 for static stickers and after 06 July, 2019 for `animated stickers <https://telegram.org/blog/animated-stickers>`_. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the sticker.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -12788,9 +12863,9 @@
{
"anchor": "inlinequeryresultcacheddocument",
"name": "InlineQueryResultCachedDocument",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the file.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the file.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -12968,9 +13043,9 @@
{
"anchor": "inlinequeryresultcachedvoice",
"name": "InlineQueryResultCachedVoice",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the voice message.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the voice message.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -13050,9 +13125,9 @@
{
"anchor": "inlinequeryresultcachedaudio",
"name": "InlineQueryResultCachedAudio",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the audio.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the audio.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -13196,7 +13271,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td><em>Optional</em>. The radius of uncertainty for the location, measured in meters; 0-1500</td>",
"rst_description": "*Optional*. The radius of uncertainty for the location, measured in meters; 0-1500\n",
@ -14474,7 +14549,7 @@
"category": "types"
}
],
"description": "Your bot can accept payments from Telegram users. Please see the introduction to payments for more details on the process and how to set up payments for your bot. Please note that users will need Telegram v.4.0 or higher to use payments (released on May 18, 2017)."
"description": "Your bot can accept payments from Telegram users. Please see the introduction to payments for more details on the process and how to set up payments for your bot."
},
{
"title": "Telegram Passport",

View file

@ -213,12 +213,20 @@
},
{
"type": "Integer",
"description": "For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user; in seconds. Returned only in getChat.",
"html_description": "<td><em>Optional</em>. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user; in seconds. Returned only in <a href=\"#getchat\">getChat</a>.</td>",
"rst_description": "*Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user; in seconds. Returned only in :class:`aiogram.methods.get_chat.GetChat`.\n",
"description": "For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds. Returned only in getChat.",
"html_description": "<td><em>Optional</em>. For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds. Returned only in <a href=\"#getchat\">getChat</a>.</td>",
"rst_description": "*Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds. Returned only in :class:`aiogram.methods.get_chat.GetChat`.\n",
"name": "slow_mode_delay",
"required": false
},
{
"type": "Integer",
"description": "For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions. Returned only in getChat.",
"html_description": "<td><em>Optional</em>. For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions. Returned only in <a href=\"#getchat\">getChat</a>.</td>",
"rst_description": "*Optional*. For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions. Returned only in :class:`aiogram.methods.get_chat.GetChat`.\n",
"name": "unrestrict_boost_count",
"required": false
},
{
"type": "Integer",
"description": "The time after which all messages sent to the chat will be automatically deleted; in seconds. Returned only in getChat.",
@ -275,6 +283,14 @@
"name": "can_set_sticker_set",
"required": false
},
{
"type": "String",
"description": "For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. Returned only in getChat.",
"html_description": "<td><em>Optional</em>. For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. Returned only in <a href=\"#getchat\">getChat</a>.</td>",
"rst_description": "*Optional*. For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. Returned only in :class:`aiogram.methods.get_chat.GetChat`.\n",
"name": "custom_emoji_sticker_set_name",
"required": false
},
{
"type": "Integer",
"description": "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.",

View file

@ -21,9 +21,9 @@
},
{
"type": "Boolean",
"description": "True, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege",
"html_description": "<td><em>True</em>, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege</td>",
"rst_description": ":code:`True`, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege\n",
"description": "True, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.",
"html_description": "<td><em>True</em>, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.</td>",
"rst_description": ":code:`True`, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.\n",
"name": "can_manage_chat",
"required": true
},
@ -75,6 +75,30 @@
"name": "can_invite_users",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can post stories to the chat",
"html_description": "<td><em>True</em>, if the administrator can post stories to the chat</td>",
"rst_description": ":code:`True`, if the administrator can post stories to the chat\n",
"name": "can_post_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can edit stories posted by other users",
"html_description": "<td><em>True</em>, if the administrator can edit stories posted by other users</td>",
"rst_description": ":code:`True`, if the administrator can edit stories posted by other users\n",
"name": "can_edit_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can delete stories posted by other users",
"html_description": "<td><em>True</em>, if the administrator can delete stories posted by other users</td>",
"rst_description": ":code:`True`, if the administrator can delete stories posted by other users\n",
"name": "can_delete_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can post messages in the channel, or access channel statistics; channels only",
@ -99,30 +123,6 @@
"name": "can_pin_messages",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can post stories in the channel; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can post stories in the channel; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can post stories in the channel; channels only\n",
"name": "can_post_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can edit stories posted by other users; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can edit stories posted by other users; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can edit stories posted by other users; channels only\n",
"name": "can_edit_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can delete stories posted by other users; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can delete stories posted by other users; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can delete stories posted by other users; channels only\n",
"name": "can_delete_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the user is allowed to create, rename, close, and reopen forum topics; supergroups only",

View file

@ -0,0 +1,25 @@
{
"meta": {},
"group": {
"title": "Available types",
"anchor": "available-types"
},
"object": {
"anchor": "chatboostadded",
"name": "ChatBoostAdded",
"description": "This object represents a service message about a user boosting a chat.",
"html_description": "<p>This object represents a service message about a user boosting a chat.</p>",
"rst_description": "This object represents a service message about a user boosting a chat.",
"annotations": [
{
"type": "Integer",
"description": "Number of boosts added by the user",
"html_description": "<td>Number of boosts added by the user</td>",
"rst_description": "Number of boosts added by the user\n",
"name": "boost_count",
"required": true
}
],
"category": "types"
}
}

View file

@ -21,9 +21,9 @@
},
{
"type": "ChatBoost",
"description": "Infomation about the chat boost",
"html_description": "<td>Infomation about the chat boost</td>",
"rst_description": "Infomation about the chat boost\n",
"description": "Information about the chat boost",
"html_description": "<td>Information about the chat boost</td>",
"rst_description": "Information about the chat boost\n",
"name": "boost",
"required": true
}

View file

@ -45,9 +45,9 @@
},
{
"type": "Boolean",
"description": "True, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege",
"html_description": "<td><em>True</em>, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege</td>",
"rst_description": ":code:`True`, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege\n",
"description": "True, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.",
"html_description": "<td><em>True</em>, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.</td>",
"rst_description": ":code:`True`, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.\n",
"name": "can_manage_chat",
"required": true
},
@ -99,6 +99,30 @@
"name": "can_invite_users",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can post stories to the chat",
"html_description": "<td><em>True</em>, if the administrator can post stories to the chat</td>",
"rst_description": ":code:`True`, if the administrator can post stories to the chat\n",
"name": "can_post_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can edit stories posted by other users",
"html_description": "<td><em>True</em>, if the administrator can edit stories posted by other users</td>",
"rst_description": ":code:`True`, if the administrator can edit stories posted by other users\n",
"name": "can_edit_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can delete stories posted by other users",
"html_description": "<td><em>True</em>, if the administrator can delete stories posted by other users</td>",
"rst_description": ":code:`True`, if the administrator can delete stories posted by other users\n",
"name": "can_delete_stories",
"required": true
},
{
"type": "Boolean",
"description": "True, if the administrator can post messages in the channel, or access channel statistics; channels only",
@ -123,30 +147,6 @@
"name": "can_pin_messages",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can post stories in the channel; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can post stories in the channel; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can post stories in the channel; channels only\n",
"name": "can_post_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can edit stories posted by other users; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can edit stories posted by other users; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can edit stories posted by other users; channels only\n",
"name": "can_edit_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the administrator can delete stories posted by other users; channels only",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the administrator can delete stories posted by other users; channels only</td>",
"rst_description": "*Optional*. :code:`True`, if the administrator can delete stories posted by other users; channels only\n",
"name": "can_delete_stories",
"required": false
},
{
"type": "Boolean",
"description": "True, if the user is allowed to create, rename, close, and reopen forum topics; supergroups only",

View file

@ -29,9 +29,9 @@
},
{
"type": "Boolean",
"description": "Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply (has <em>reply_to_message_id</em>), sender of the original message.</td>",
"rst_description": "*Optional*. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message.\n",
"description": "Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.</td>",
"rst_description": "*Optional*. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n",
"name": "selective",
"required": false
}

View file

@ -21,9 +21,9 @@
},
{
"type": "Integer",
"description": "Identifier of the messsage with the giveaway in the chat",
"html_description": "<td>Identifier of the messsage with the giveaway in the chat</td>",
"rst_description": "Identifier of the messsage with the giveaway in the chat\n",
"description": "Identifier of the message with the giveaway in the chat",
"html_description": "<td>Identifier of the message with the giveaway in the chat</td>",
"rst_description": "Identifier of the message with the giveaway in the chat\n",
"name": "giveaway_message_id",
"required": true
},

View file

@ -21,9 +21,9 @@
},
{
"type": "String",
"description": "HTTP or tg:// URL to be opened when the button is pressed. Links tg://user?id=<user_id> can be used to mention a user by their ID without using a username, if this is allowed by their privacy settings.",
"html_description": "<td><em>Optional</em>. HTTP or tg:// URL to be opened when the button is pressed. Links <code>tg://user?id=&lt;user_id&gt;</code> can be used to mention a user by their ID without using a username, if this is allowed by their privacy settings.</td>",
"rst_description": "*Optional*. HTTP or tg:// URL to be opened when the button is pressed. Links :code:`tg://user?id=<user_id>` can be used to mention a user by their ID without using a username, if this is allowed by their privacy settings.\n",
"description": "HTTP or tg:// URL to be opened when the button is pressed. Links tg://user?id=<user_id> can be used to mention a user by their identifier without using a username, if this is allowed by their privacy settings.",
"html_description": "<td><em>Optional</em>. HTTP or tg:// URL to be opened when the button is pressed. Links <code>tg://user?id=&lt;user_id&gt;</code> can be used to mention a user by their identifier without using a username, if this is allowed by their privacy settings.</td>",
"rst_description": "*Optional*. HTTP or tg:// URL to be opened when the button is pressed. Links :code:`tg://user?id=<user_id>` can be used to mention a user by their identifier without using a username, if this is allowed by their privacy settings.\n",
"name": "url",
"required": false
},

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinekeyboardmarkup",
"name": "InlineKeyboardMarkup",
"description": "This object represents an inline keyboard that appears right next to the message it belongs to.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will display unsupported message.",
"html_description": "<p>This object represents an <a href=\"/bots/features#inline-keyboards\">inline keyboard</a> that appears right next to the message it belongs to.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will display <em>unsupported message</em>.</p>",
"rst_description": "This object represents an `inline keyboard <https://core.telegram.org/bots/features#inline-keyboards>`_ that appears right next to the message it belongs to.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will display *unsupported message*.",
"description": "This object represents an inline keyboard that appears right next to the message it belongs to.",
"html_description": "<p>This object represents an <a href=\"/bots/features#inline-keyboards\">inline keyboard</a> that appears right next to the message it belongs to.</p>",
"rst_description": "This object represents an `inline keyboard <https://core.telegram.org/bots/features#inline-keyboards>`_ that appears right next to the message it belongs to.",
"annotations": [
{
"type": "Array of Array of InlineKeyboardButton",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultaudio",
"name": "InlineQueryResultAudio",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a link to an MP3 audio file. By default, this audio file will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the audio.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a link to an MP3 audio file. By default, this audio file will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the audio.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultcachedaudio",
"name": "InlineQueryResultCachedAudio",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the audio.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the audio.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultcacheddocument",
"name": "InlineQueryResultCachedDocument",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the file.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the file.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultcachedsticker",
"name": "InlineQueryResultCachedSticker",
"description": "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.\nNote: 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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the sticker.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016 for static stickers and after 06 July, 2019 for <a href=\"https://telegram.org/blog/animated-stickers\">animated stickers</a>. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016 for static stickers and after 06 July, 2019 for `animated stickers <https://telegram.org/blog/animated-stickers>`_. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the sticker.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultcachedvoice",
"name": "InlineQueryResultCachedVoice",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the voice message.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the voice message.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultcontact",
"name": "InlineQueryResultContact",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a contact with a phone number. By default, this contact will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the contact.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a contact with a phone number. By default, this contact will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the contact.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultdocument",
"name": "InlineQueryResultDocument",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a link to a file. By default, this file will be sent by the user with an optional caption. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the file. Currently, only <strong>.PDF</strong> and <strong>.ZIP</strong> files can be sent using this method.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a link to a file. By default, this file will be sent by the user with an optional caption. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the file. Currently, only <strong>.PDF</strong> and <strong>.ZIP</strong> files can be sent using this method.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultgame",
"name": "InlineQueryResultGame",
"description": "Represents a Game.\nNote: 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.",
"html_description": "<p>Represents a <a href=\"#games\">Game</a>.</p><p><strong>Note:</strong> 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.</p>",
"rst_description": "Represents a `Game <https://core.telegram.org/bots/api#games>`_.\n**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.",
"description": "Represents a Game.",
"html_description": "<p>Represents a <a href=\"#games\">Game</a>.</p>",
"rst_description": "Represents a `Game <https://core.telegram.org/bots/api#games>`_.",
"annotations": [
{
"type": "String",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultlocation",
"name": "InlineQueryResultLocation",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a location on a map. By default, the location will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the location.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a location on a map. By default, the location will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the location.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",
@ -28,7 +28,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "Location latitude in degrees",
"html_description": "<td>Location latitude in degrees</td>",
"rst_description": "Location latitude in degrees\n",
@ -36,7 +36,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "Location longitude in degrees",
"html_description": "<td>Location longitude in degrees</td>",
"rst_description": "Location longitude in degrees\n",
@ -52,7 +52,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td><em>Optional</em>. The radius of uncertainty for the location, measured in meters; 0-1500</td>",
"rst_description": "*Optional*. The radius of uncertainty for the location, measured in meters; 0-1500\n",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultvenue",
"name": "InlineQueryResultVenue",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>Represents a venue. By default, the venue will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the venue.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>Represents a venue. By default, the venue will be sent by the user. Alternatively, you can use <em>input_message_content</em> to send a message with the specified content instead of the venue.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "inlinequeryresultvoice",
"name": "InlineQueryResultVoice",
"description": "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.\nNote: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the the voice message.</p><p><strong>Note:</strong> This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.</p>",
"rst_description": "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.\n**Note:** This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.",
"description": "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.",
"html_description": "<p>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 <em>input_message_content</em> to send a message with the specified content instead of the the voice message.</p>",
"rst_description": "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.",
"annotations": [
{
"type": "String",

View file

@ -28,7 +28,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td><em>Optional</em>. The radius of uncertainty for the location, measured in meters; 0-1500</td>",
"rst_description": "*Optional*. The radius of uncertainty for the location, measured in meters; 0-1500\n",

View file

@ -7,9 +7,9 @@
"object": {
"anchor": "keyboardbutton",
"name": "KeyboardButton",
"description": "This object represents one button of the reply keyboard. For simple text buttons, String can be used instead of this object to specify the button text. The optional fields web_app, request_users, request_chat, request_contact, request_location, and request_poll are mutually exclusive.\nNote: request_contact and request_location options will only work in Telegram versions released after 9 April, 2016. Older clients will display unsupported message.\nNote: request_poll option will only work in Telegram versions released after 23 January, 2020. Older clients will display unsupported message.\nNote: web_app option will only work in Telegram versions released after 16 April, 2022. Older clients will display unsupported message.\nNote: request_users and request_chat options will only work in Telegram versions released after 3 February, 2023. Older clients will display unsupported message.",
"html_description": "<p>This object represents one button of the reply keyboard. For simple text buttons, <em>String</em> can be used instead of this object to specify the button text. The optional fields <em>web_app</em>, <em>request_users</em>, <em>request_chat</em>, <em>request_contact</em>, <em>request_location</em>, and <em>request_poll</em> are mutually exclusive.</p><p><strong>Note:</strong> <em>request_contact</em> and <em>request_location</em> options will only work in Telegram versions released after 9 April, 2016. Older clients will display <em>unsupported message</em>.<br/>\n<strong>Note:</strong> <em>request_poll</em> option will only work in Telegram versions released after 23 January, 2020. Older clients will display <em>unsupported message</em>.<br/>\n<strong>Note:</strong> <em>web_app</em> option will only work in Telegram versions released after 16 April, 2022. Older clients will display <em>unsupported message</em>.<br/>\n<strong>Note:</strong> <em>request_users</em> and <em>request_chat</em> options will only work in Telegram versions released after 3 February, 2023. Older clients will display <em>unsupported message</em>.</p>",
"rst_description": "This object represents one button of the reply keyboard. For simple text buttons, *String* can be used instead of this object to specify the button text. The optional fields *web_app*, *request_users*, *request_chat*, *request_contact*, *request_location*, and *request_poll* are mutually exclusive.\n**Note:** *request_contact* and *request_location* options will only work in Telegram versions released after 9 April, 2016. Older clients will display *unsupported message*.\n\n**Note:** *request_poll* option will only work in Telegram versions released after 23 January, 2020. Older clients will display *unsupported message*.\n\n**Note:** *web_app* option will only work in Telegram versions released after 16 April, 2022. Older clients will display *unsupported message*.\n\n**Note:** *request_users* and *request_chat* options will only work in Telegram versions released after 3 February, 2023. Older clients will display *unsupported message*.",
"description": "This object represents one button of the reply keyboard. For simple text buttons, String can be used instead of this object to specify the button text. The optional fields web_app, request_users, request_chat, request_contact, request_location, and request_poll are mutually exclusive.\nNote: request_users and request_chat options will only work in Telegram versions released after 3 February, 2023. Older clients will display unsupported message.",
"html_description": "<p>This object represents one button of the reply keyboard. For simple text buttons, <em>String</em> can be used instead of this object to specify the button text. The optional fields <em>web_app</em>, <em>request_users</em>, <em>request_chat</em>, <em>request_contact</em>, <em>request_location</em>, and <em>request_poll</em> are mutually exclusive.</p><p><strong>Note:</strong> <em>request_users</em> and <em>request_chat</em> options will only work in Telegram versions released after 3 February, 2023. Older clients will display <em>unsupported message</em>.</p>",
"rst_description": "This object represents one button of the reply keyboard. For simple text buttons, *String* can be used instead of this object to specify the button text. The optional fields *web_app*, *request_users*, *request_chat*, *request_contact*, *request_location*, and *request_poll* are mutually exclusive.\n**Note:** *request_users* and *request_chat* options will only work in Telegram versions released after 3 February, 2023. Older clients will display *unsupported message*.",
"annotations": [
{
"type": "String",

View file

@ -29,17 +29,17 @@
},
{
"type": "Boolean",
"description": "True, if the media in the link preview is suppposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the media in the link preview is suppposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview</td>",
"rst_description": "*Optional*. :code:`True`, if the media in the link preview is suppposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview\n",
"description": "True, if the media in the link preview is supposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the media in the link preview is supposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview</td>",
"rst_description": "*Optional*. :code:`True`, if the media in the link preview is supposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview\n",
"name": "prefer_small_media",
"required": false
},
{
"type": "Boolean",
"description": "True, if the media in the link preview is suppposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the media in the link preview is suppposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview</td>",
"rst_description": "*Optional*. :code:`True`, if the media in the link preview is suppposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview\n",
"description": "True, if the media in the link preview is supposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview",
"html_description": "<td><em>Optional</em>. <em>True</em>, if the media in the link preview is supposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview</td>",
"rst_description": "*Optional*. :code:`True`, if the media in the link preview is supposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview\n",
"name": "prefer_large_media",
"required": false
},

View file

@ -28,7 +28,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "The radius of uncertainty for the location, measured in meters; 0-1500",
"html_description": "<td><em>Optional</em>. The radius of uncertainty for the location, measured in meters; 0-1500</td>",
"rst_description": "*Optional*. The radius of uncertainty for the location, measured in meters; 0-1500\n",

View file

@ -20,7 +20,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"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.",
"html_description": "<td>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.</td>",
"rst_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.\n",
@ -28,7 +28,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"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.",
"html_description": "<td>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.</td>",
"rst_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.\n",
@ -36,7 +36,7 @@
"required": true
},
{
"type": "Float number",
"type": "Float",
"description": "Mask scaling coefficient. For example, 2.0 means double size.",
"html_description": "<td>Mask scaling coefficient. For example, 2.0 means double size.</td>",
"rst_description": "Mask scaling coefficient. For example, 2.0 means double size.\n",

View file

@ -43,6 +43,14 @@
"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": "Integer",
"description": "Date the message was sent in Unix time. It is always a positive number, representing a valid date.",
@ -107,6 +115,14 @@
"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",
@ -475,6 +491,14 @@
"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": "ForumTopicCreated",
"description": "Service message: forum topic created",

View file

@ -53,9 +53,9 @@
},
{
"type": "Boolean",
"description": "Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.\n\nExample: A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply (has <em>reply_to_message_id</em>), sender of the original message.<br/>\n<br/>\n<em>Example:</em> A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.</td>",
"rst_description": "*Optional*. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message.\n\n\n\n*Example:* A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.\n",
"description": "Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n\nExample: A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.<br/>\n<br/>\n<em>Example:</em> A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.</td>",
"rst_description": "*Optional*. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n\n\n\n*Example:* A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.\n",
"name": "selective",
"required": false
}

View file

@ -21,9 +21,9 @@
},
{
"type": "Boolean",
"description": "Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.\n\nExample: A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply (has <em>reply_to_message_id</em>), sender of the original message.<br/>\n<br/>\n<em>Example:</em> A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.</td>",
"rst_description": "*Optional*. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message.\n\n\n\n*Example:* A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.\n",
"description": "Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n\nExample: A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.",
"html_description": "<td><em>Optional</em>. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the <em>text</em> of the <a href=\"#message\">Message</a> object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.<br/>\n<br/>\n<em>Example:</em> A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.</td>",
"rst_description": "*Optional*. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.\n\n\n\n*Example:* A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.\n",
"name": "selective",
"required": false
}

View file

@ -7,10 +7,27 @@
"object": {
"anchor": "story",
"name": "Story",
"description": "This object represents a message about a forwarded story in the chat. Currently holds no information.",
"html_description": "<p>This object represents a message about a forwarded story in the chat. Currently holds no information.</p>",
"rst_description": "This object represents a message about a forwarded story in the chat. Currently holds no information.",
"annotations": [],
"description": "This object represents a story.",
"html_description": "<p>This object represents a story.</p>",
"rst_description": "This object represents a story.",
"annotations": [
{
"type": "Chat",
"description": "Chat that posted the story",
"html_description": "<td>Chat that posted the story</td>",
"rst_description": "Chat that posted the story\n",
"name": "chat",
"required": true
},
{
"type": "Integer",
"description": "Unique identifier for the story in the chat",
"html_description": "<td>Unique identifier for the story in the chat</td>",
"rst_description": "Unique identifier for the story in the chat\n",
"name": "id",
"required": true
}
],
"category": "types"
}
}

View file

@ -13,9 +13,9 @@
"annotations": [
{
"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, 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.",
"html_description": "<td>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 <a href=\"#setwebhook\">webhooks</a>, 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.</td>",
"rst_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.\n",
"description": "The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This identifier becomes especially handy if you're using webhooks, 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.",
"html_description": "<td>The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This identifier becomes especially handy if you're using <a href=\"#setwebhook\">webhooks</a>, 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.</td>",
"rst_description": "The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This identifier 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.\n",
"name": "update_id",
"required": true
},
@ -29,9 +29,9 @@
},
{
"type": "Message",
"description": "New version of a message that is known to the bot and was edited",
"html_description": "<td><em>Optional</em>. New version of a message that is known to the bot and was edited</td>",
"rst_description": "*Optional*. New version of a message that is known to the bot and was edited\n",
"description": "New version of a message that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.",
"html_description": "<td><em>Optional</em>. New version of a message that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.</td>",
"rst_description": "*Optional*. New version of a message that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.\n",
"name": "edited_message",
"required": false
},
@ -45,9 +45,9 @@
},
{
"type": "Message",
"description": "New version of a channel post that is known to the bot and was edited",
"html_description": "<td><em>Optional</em>. New version of a channel post that is known to the bot and was edited</td>",
"rst_description": "*Optional*. New version of a channel post that is known to the bot and was edited\n",
"description": "New version of a channel post that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.",
"html_description": "<td><em>Optional</em>. New version of a channel post that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.</td>",
"rst_description": "*Optional*. New version of a channel post that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.\n",
"name": "edited_channel_post",
"required": false
},
@ -61,9 +61,9 @@
},
{
"type": "MessageReactionCountUpdated",
"description": "Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify \"message_reaction_count\" in the list of allowed_updates to receive these updates.",
"html_description": "<td><em>Optional</em>. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify <code>\"message_reaction_count\"</code> in the list of <em>allowed_updates</em> to receive these updates.</td>",
"rst_description": "*Optional*. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify :code:`\"message_reaction_count\"` in the list of *allowed_updates* to receive these updates.\n",
"description": "Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify \"message_reaction_count\" in the list of allowed_updates to receive these updates. The updates are grouped and can be sent with delay up to a few minutes.",
"html_description": "<td><em>Optional</em>. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify <code>\"message_reaction_count\"</code> in the list of <em>allowed_updates</em> to receive these updates. The updates are grouped and can be sent with delay up to a few minutes.</td>",
"rst_description": "*Optional*. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify :code:`\"message_reaction_count\"` in the list of *allowed_updates* to receive these updates. The updates are grouped and can be sent with delay up to a few minutes.\n",
"name": "message_reaction_count",
"required": false
},
@ -109,9 +109,9 @@
},
{
"type": "Poll",
"description": "New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot",
"html_description": "<td><em>Optional</em>. New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot</td>",
"rst_description": "*Optional*. New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot\n",
"description": "New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot",
"html_description": "<td><em>Optional</em>. New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot</td>",
"rst_description": "*Optional*. New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot\n",
"name": "poll",
"required": false
},

9
CHANGES/1417.feature.rst Normal file
View file

@ -0,0 +1,9 @@
Added full support of `Bot API 7.1 <https://core.telegram.org/bots/api-changelog#february-16-2024>`_
- Added support for the administrator rights :code:`can_post_stories`, :code:`can_edit_stories`, :code:`can_delete_stories` in supergroups.
- Added the class :code:`ChatBoostAdded` and the field :code:`boost_added` to the class :code:`Message` for service messages about a user boosting a chat.
- Added the field :code:`sender_boost_count` to the class :code:`Message`.
- Added the field :code:`reply_to_story` to the class :code:`Message`.
- Added the fields :code:`chat` and :code:`id` to the class :code:`Story`.
- Added the field :code:`unrestrict_boost_count` to the class :code:`Chat`.
- Added the field :code:`custom_emoji_sticker_set_name` to the class :code:`Chat`.

View file

@ -2046,12 +2046,12 @@ class Bot:
can_promote_members: Optional[bool] = None,
can_change_info: Optional[bool] = None,
can_invite_users: Optional[bool] = None,
can_post_messages: Optional[bool] = None,
can_edit_messages: Optional[bool] = None,
can_pin_messages: Optional[bool] = None,
can_post_stories: Optional[bool] = None,
can_edit_stories: Optional[bool] = None,
can_delete_stories: Optional[bool] = None,
can_post_messages: Optional[bool] = None,
can_edit_messages: Optional[bool] = None,
can_pin_messages: Optional[bool] = None,
can_manage_topics: Optional[bool] = None,
request_timeout: Optional[int] = None,
) -> bool:
@ -2063,19 +2063,19 @@ class Bot:
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format :code:`@channelusername`)
:param user_id: Unique identifier of the target user
:param is_anonymous: Pass :code:`True` if the administrator's presence in the chat is hidden
:param can_manage_chat: Pass :code:`True` if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege
:param can_manage_chat: Pass :code:`True` if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.
:param can_delete_messages: Pass :code:`True` if the administrator can delete messages of other users
:param can_manage_video_chats: Pass :code:`True` if the administrator can manage video chats
:param can_restrict_members: Pass :code:`True` if the administrator can restrict, ban or unban chat members, or access supergroup statistics
:param can_promote_members: Pass :code:`True` if the administrator can add new administrators with a subset of their own privileges or demote administrators that they have promoted, directly or indirectly (promoted by administrators that were appointed by him)
:param can_change_info: Pass :code:`True` if the administrator can change chat title, photo and other settings
:param can_invite_users: Pass :code:`True` if the administrator can invite new users to the chat
:param can_post_stories: Pass :code:`True` if the administrator can post stories to the chat
:param can_edit_stories: Pass :code:`True` if the administrator can edit stories posted by other users
:param can_delete_stories: Pass :code:`True` if the administrator can delete stories posted by other users
:param can_post_messages: Pass :code:`True` if the administrator can post messages in the channel, or access channel statistics; channels only
:param can_edit_messages: Pass :code:`True` if the administrator can edit messages of other users and can pin messages; channels only
:param can_pin_messages: Pass :code:`True` if the administrator can pin messages, supergroups only
:param can_post_stories: Pass :code:`True` if the administrator can post stories in the channel; channels only
:param can_edit_stories: Pass :code:`True` if the administrator can edit stories posted by other users; channels only
:param can_delete_stories: Pass :code:`True` if the administrator can delete stories posted by other users; channels only
:param can_manage_topics: Pass :code:`True` if the user is allowed to create, rename, close, and reopen forum topics, supergroups only
:param request_timeout: Request timeout
:return: Returns :code:`True` on success.
@ -2092,12 +2092,12 @@ class Bot:
can_promote_members=can_promote_members,
can_change_info=can_change_info,
can_invite_users=can_invite_users,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_post_stories=can_post_stories,
can_edit_stories=can_edit_stories,
can_delete_stories=can_delete_stories,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_manage_topics=can_manage_topics,
)
return await self(call, request_timeout=request_timeout)

View file

@ -45,6 +45,7 @@ class ContentType(str, Enum):
WRITE_ACCESS_ALLOWED = "write_access_allowed"
PASSPORT_DATA = "passport_data"
PROXIMITY_ALERT_TRIGGERED = "proximity_alert_triggered"
BOOST_ADDED = "boost_added"
FORUM_TOPIC_CREATED = "forum_topic_created"
FORUM_TOPIC_EDITED = "forum_topic_edited"
FORUM_TOPIC_CLOSED = "forum_topic_closed"

View file

@ -22,7 +22,7 @@ class PromoteChatMember(TelegramMethod[bool]):
is_anonymous: Optional[bool] = None
"""Pass :code:`True` if the administrator's presence in the chat is hidden"""
can_manage_chat: Optional[bool] = None
"""Pass :code:`True` if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege"""
"""Pass :code:`True` if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege."""
can_delete_messages: Optional[bool] = None
"""Pass :code:`True` if the administrator can delete messages of other users"""
can_manage_video_chats: Optional[bool] = None
@ -35,18 +35,18 @@ class PromoteChatMember(TelegramMethod[bool]):
"""Pass :code:`True` if the administrator can change chat title, photo and other settings"""
can_invite_users: Optional[bool] = None
"""Pass :code:`True` if the administrator can invite new users to the chat"""
can_post_stories: Optional[bool] = None
"""Pass :code:`True` if the administrator can post stories to the chat"""
can_edit_stories: Optional[bool] = None
"""Pass :code:`True` if the administrator can edit stories posted by other users"""
can_delete_stories: Optional[bool] = None
"""Pass :code:`True` if the administrator can delete stories posted by other users"""
can_post_messages: Optional[bool] = None
"""Pass :code:`True` if the administrator can post messages in the channel, or access channel statistics; channels only"""
can_edit_messages: Optional[bool] = None
"""Pass :code:`True` if the administrator can edit messages of other users and can pin messages; channels only"""
can_pin_messages: Optional[bool] = None
"""Pass :code:`True` if the administrator can pin messages, supergroups only"""
can_post_stories: Optional[bool] = None
"""Pass :code:`True` if the administrator can post stories in the channel; channels only"""
can_edit_stories: Optional[bool] = None
"""Pass :code:`True` if the administrator can edit stories posted by other users; channels only"""
can_delete_stories: Optional[bool] = None
"""Pass :code:`True` if the administrator can delete stories posted by other users; channels only"""
can_manage_topics: Optional[bool] = None
"""Pass :code:`True` if the user is allowed to create, rename, close, and reopen forum topics, supergroups only"""
@ -67,12 +67,12 @@ class PromoteChatMember(TelegramMethod[bool]):
can_promote_members: Optional[bool] = None,
can_change_info: Optional[bool] = None,
can_invite_users: Optional[bool] = None,
can_post_messages: Optional[bool] = None,
can_edit_messages: Optional[bool] = None,
can_pin_messages: Optional[bool] = None,
can_post_stories: Optional[bool] = None,
can_edit_stories: Optional[bool] = None,
can_delete_stories: Optional[bool] = None,
can_post_messages: Optional[bool] = None,
can_edit_messages: Optional[bool] = None,
can_pin_messages: Optional[bool] = None,
can_manage_topics: Optional[bool] = None,
**__pydantic_kwargs: Any,
) -> None:
@ -91,12 +91,12 @@ class PromoteChatMember(TelegramMethod[bool]):
can_promote_members=can_promote_members,
can_change_info=can_change_info,
can_invite_users=can_invite_users,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_post_stories=can_post_stories,
can_edit_stories=can_edit_stories,
can_delete_stories=can_delete_stories,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_manage_topics=can_manage_topics,
**__pydantic_kwargs,
)

View file

@ -22,6 +22,7 @@ from .callback_query import CallbackQuery
from .chat import Chat
from .chat_administrator_rights import ChatAdministratorRights
from .chat_boost import ChatBoost
from .chat_boost_added import ChatBoostAdded
from .chat_boost_removed import ChatBoostRemoved
from .chat_boost_source import ChatBoostSource
from .chat_boost_source_gift_code import ChatBoostSourceGiftCode
@ -213,6 +214,7 @@ __all__ = (
"Chat",
"ChatAdministratorRights",
"ChatBoost",
"ChatBoostAdded",
"ChatBoostRemoved",
"ChatBoostSource",
"ChatBoostSourceGiftCode",

View file

@ -104,7 +104,9 @@ class Chat(TelegramObject):
permissions: Optional[ChatPermissions] = None
"""*Optional*. Default chat member permissions, for groups and supergroups. Returned only in :class:`aiogram.methods.get_chat.GetChat`."""
slow_mode_delay: Optional[int] = None
"""*Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user; in seconds. Returned only in :class:`aiogram.methods.get_chat.GetChat`."""
"""*Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds. Returned only in :class:`aiogram.methods.get_chat.GetChat`."""
unrestrict_boost_count: Optional[int] = None
"""*Optional*. For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions. Returned only in :class:`aiogram.methods.get_chat.GetChat`."""
message_auto_delete_time: Optional[int] = None
"""*Optional*. The time after which all messages sent to the chat will be automatically deleted; in seconds. Returned only in :class:`aiogram.methods.get_chat.GetChat`."""
has_aggressive_anti_spam_enabled: Optional[bool] = None
@ -119,6 +121,8 @@ class Chat(TelegramObject):
"""*Optional*. For supergroups, name of group sticker set. Returned only in :class:`aiogram.methods.get_chat.GetChat`."""
can_set_sticker_set: Optional[bool] = None
"""*Optional*. :code:`True`, if the bot can change the group sticker set. Returned only in :class:`aiogram.methods.get_chat.GetChat`."""
custom_emoji_sticker_set_name: Optional[str] = None
"""*Optional*. For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. Returned only in :class:`aiogram.methods.get_chat.GetChat`."""
linked_chat_id: Optional[int] = None
"""*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 :class:`aiogram.methods.get_chat.GetChat`."""
location: Optional[ChatLocation] = None
@ -159,6 +163,7 @@ class Chat(TelegramObject):
pinned_message: Optional[Message] = None,
permissions: Optional[ChatPermissions] = None,
slow_mode_delay: Optional[int] = None,
unrestrict_boost_count: Optional[int] = None,
message_auto_delete_time: Optional[int] = None,
has_aggressive_anti_spam_enabled: Optional[bool] = None,
has_hidden_members: Optional[bool] = None,
@ -166,6 +171,7 @@ class Chat(TelegramObject):
has_visible_history: Optional[bool] = None,
sticker_set_name: Optional[str] = None,
can_set_sticker_set: Optional[bool] = None,
custom_emoji_sticker_set_name: Optional[str] = None,
linked_chat_id: Optional[int] = None,
location: Optional[ChatLocation] = None,
**__pydantic_kwargs: Any,
@ -201,6 +207,7 @@ class Chat(TelegramObject):
pinned_message=pinned_message,
permissions=permissions,
slow_mode_delay=slow_mode_delay,
unrestrict_boost_count=unrestrict_boost_count,
message_auto_delete_time=message_auto_delete_time,
has_aggressive_anti_spam_enabled=has_aggressive_anti_spam_enabled,
has_hidden_members=has_hidden_members,
@ -208,6 +215,7 @@ class Chat(TelegramObject):
has_visible_history=has_visible_history,
sticker_set_name=sticker_set_name,
can_set_sticker_set=can_set_sticker_set,
custom_emoji_sticker_set_name=custom_emoji_sticker_set_name,
linked_chat_id=linked_chat_id,
location=location,
**__pydantic_kwargs,
@ -845,12 +853,12 @@ class Chat(TelegramObject):
can_promote_members: Optional[bool] = None,
can_change_info: Optional[bool] = None,
can_invite_users: Optional[bool] = None,
can_post_messages: Optional[bool] = None,
can_edit_messages: Optional[bool] = None,
can_pin_messages: Optional[bool] = None,
can_post_stories: Optional[bool] = None,
can_edit_stories: Optional[bool] = None,
can_delete_stories: Optional[bool] = None,
can_post_messages: Optional[bool] = None,
can_edit_messages: Optional[bool] = None,
can_pin_messages: Optional[bool] = None,
can_manage_topics: Optional[bool] = None,
**kwargs: Any,
) -> PromoteChatMember:
@ -866,19 +874,19 @@ class Chat(TelegramObject):
:param user_id: Unique identifier of the target user
:param is_anonymous: Pass :code:`True` if the administrator's presence in the chat is hidden
:param can_manage_chat: Pass :code:`True` if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege
:param can_manage_chat: Pass :code:`True` if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege.
:param can_delete_messages: Pass :code:`True` if the administrator can delete messages of other users
:param can_manage_video_chats: Pass :code:`True` if the administrator can manage video chats
:param can_restrict_members: Pass :code:`True` if the administrator can restrict, ban or unban chat members, or access supergroup statistics
:param can_promote_members: Pass :code:`True` if the administrator can add new administrators with a subset of their own privileges or demote administrators that they have promoted, directly or indirectly (promoted by administrators that were appointed by him)
:param can_change_info: Pass :code:`True` if the administrator can change chat title, photo and other settings
:param can_invite_users: Pass :code:`True` if the administrator can invite new users to the chat
:param can_post_stories: Pass :code:`True` if the administrator can post stories to the chat
:param can_edit_stories: Pass :code:`True` if the administrator can edit stories posted by other users
:param can_delete_stories: Pass :code:`True` if the administrator can delete stories posted by other users
:param can_post_messages: Pass :code:`True` if the administrator can post messages in the channel, or access channel statistics; channels only
:param can_edit_messages: Pass :code:`True` if the administrator can edit messages of other users and can pin messages; channels only
:param can_pin_messages: Pass :code:`True` if the administrator can pin messages, supergroups only
:param can_post_stories: Pass :code:`True` if the administrator can post stories in the channel; channels only
:param can_edit_stories: Pass :code:`True` if the administrator can edit stories posted by other users; channels only
:param can_delete_stories: Pass :code:`True` if the administrator can delete stories posted by other users; channels only
:param can_manage_topics: Pass :code:`True` if the user is allowed to create, rename, close, and reopen forum topics, supergroups only
:return: instance of method :class:`aiogram.methods.promote_chat_member.PromoteChatMember`
"""
@ -898,12 +906,12 @@ class Chat(TelegramObject):
can_promote_members=can_promote_members,
can_change_info=can_change_info,
can_invite_users=can_invite_users,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_post_stories=can_post_stories,
can_edit_stories=can_edit_stories,
can_delete_stories=can_delete_stories,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_manage_topics=can_manage_topics,
**kwargs,
).as_(self._bot)

View file

@ -18,7 +18,7 @@ class ChatAdministratorRights(TelegramObject):
is_anonymous: bool
""":code:`True`, if the user's presence in the chat is hidden"""
can_manage_chat: bool
""":code:`True`, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege"""
""":code:`True`, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege."""
can_delete_messages: bool
""":code:`True`, if the administrator can delete messages of other users"""
can_manage_video_chats: bool
@ -31,18 +31,18 @@ class ChatAdministratorRights(TelegramObject):
""":code:`True`, if the user is allowed to change the chat title, photo and other settings"""
can_invite_users: bool
""":code:`True`, if the user is allowed to invite new users to the chat"""
can_post_stories: bool
""":code:`True`, if the administrator can post stories to the chat"""
can_edit_stories: bool
""":code:`True`, if the administrator can edit stories posted by other users"""
can_delete_stories: bool
""":code:`True`, if the administrator can delete stories posted by other users"""
can_post_messages: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can post messages in the channel, or access channel statistics; channels only"""
can_edit_messages: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can edit messages of other users and can pin messages; channels only"""
can_pin_messages: Optional[bool] = None
"""*Optional*. :code:`True`, if the user is allowed to pin messages; groups and supergroups only"""
can_post_stories: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can post stories in the channel; channels only"""
can_edit_stories: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can edit stories posted by other users; channels only"""
can_delete_stories: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can delete stories posted by other users; channels only"""
can_manage_topics: Optional[bool] = None
"""*Optional*. :code:`True`, if the user is allowed to create, rename, close, and reopen forum topics; supergroups only"""
@ -61,12 +61,12 @@ class ChatAdministratorRights(TelegramObject):
can_promote_members: bool,
can_change_info: bool,
can_invite_users: bool,
can_post_stories: bool,
can_edit_stories: bool,
can_delete_stories: bool,
can_post_messages: Optional[bool] = None,
can_edit_messages: Optional[bool] = None,
can_pin_messages: Optional[bool] = None,
can_post_stories: Optional[bool] = None,
can_edit_stories: Optional[bool] = None,
can_delete_stories: Optional[bool] = None,
can_manage_topics: Optional[bool] = None,
**__pydantic_kwargs: Any,
) -> None:
@ -83,12 +83,12 @@ class ChatAdministratorRights(TelegramObject):
can_promote_members=can_promote_members,
can_change_info=can_change_info,
can_invite_users=can_invite_users,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_post_stories=can_post_stories,
can_edit_stories=can_edit_stories,
can_delete_stories=can_delete_stories,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_manage_topics=can_manage_topics,
**__pydantic_kwargs,
)

View file

@ -0,0 +1,25 @@
from typing import TYPE_CHECKING, Any
from .base import TelegramObject
class ChatBoostAdded(TelegramObject):
"""
This object represents a service message about a user boosting a chat.
Source: https://core.telegram.org/bots/api#chatboostadded
"""
boost_count: int
"""Number of boosts added by the user"""
if TYPE_CHECKING:
# DO NOT EDIT MANUALLY!!!
# This section was auto-generated via `butcher`
def __init__(__pydantic__self__, *, boost_count: int, **__pydantic_kwargs: Any) -> None:
# DO NOT EDIT MANUALLY!!!
# This method was auto-generated via `butcher`
# Is needed only for type checking and IDE support without any additional plugins
super().__init__(boost_count=boost_count, **__pydantic_kwargs)

View file

@ -19,7 +19,7 @@ class ChatBoostUpdated(TelegramObject):
chat: Chat
"""Chat which was boosted"""
boost: ChatBoost
"""Infomation about the chat boost"""
"""Information about the chat boost"""
if TYPE_CHECKING:
# DO NOT EDIT MANUALLY!!!

View file

@ -25,7 +25,7 @@ class ChatMemberAdministrator(ChatMember):
is_anonymous: bool
""":code:`True`, if the user's presence in the chat is hidden"""
can_manage_chat: bool
""":code:`True`, if the administrator can access the chat event log, boost list in channels, see channel members, report spam messages, see anonymous administrators in supergroups and ignore slow mode. Implied by any other administrator privilege"""
""":code:`True`, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege."""
can_delete_messages: bool
""":code:`True`, if the administrator can delete messages of other users"""
can_manage_video_chats: bool
@ -38,18 +38,18 @@ class ChatMemberAdministrator(ChatMember):
""":code:`True`, if the user is allowed to change the chat title, photo and other settings"""
can_invite_users: bool
""":code:`True`, if the user is allowed to invite new users to the chat"""
can_post_stories: bool
""":code:`True`, if the administrator can post stories to the chat"""
can_edit_stories: bool
""":code:`True`, if the administrator can edit stories posted by other users"""
can_delete_stories: bool
""":code:`True`, if the administrator can delete stories posted by other users"""
can_post_messages: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can post messages in the channel, or access channel statistics; channels only"""
can_edit_messages: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can edit messages of other users and can pin messages; channels only"""
can_pin_messages: Optional[bool] = None
"""*Optional*. :code:`True`, if the user is allowed to pin messages; groups and supergroups only"""
can_post_stories: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can post stories in the channel; channels only"""
can_edit_stories: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can edit stories posted by other users; channels only"""
can_delete_stories: Optional[bool] = None
"""*Optional*. :code:`True`, if the administrator can delete stories posted by other users; channels only"""
can_manage_topics: Optional[bool] = None
"""*Optional*. :code:`True`, if the user is allowed to create, rename, close, and reopen forum topics; supergroups only"""
custom_title: Optional[str] = None
@ -73,12 +73,12 @@ class ChatMemberAdministrator(ChatMember):
can_promote_members: bool,
can_change_info: bool,
can_invite_users: bool,
can_post_stories: bool,
can_edit_stories: bool,
can_delete_stories: bool,
can_post_messages: Optional[bool] = None,
can_edit_messages: Optional[bool] = None,
can_pin_messages: Optional[bool] = None,
can_post_stories: Optional[bool] = None,
can_edit_stories: Optional[bool] = None,
can_delete_stories: Optional[bool] = None,
can_manage_topics: Optional[bool] = None,
custom_title: Optional[str] = None,
**__pydantic_kwargs: Any,
@ -99,12 +99,12 @@ class ChatMemberAdministrator(ChatMember):
can_promote_members=can_promote_members,
can_change_info=can_change_info,
can_invite_users=can_invite_users,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_post_stories=can_post_stories,
can_edit_stories=can_edit_stories,
can_delete_stories=can_delete_stories,
can_post_messages=can_post_messages,
can_edit_messages=can_edit_messages,
can_pin_messages=can_pin_messages,
can_manage_topics=can_manage_topics,
custom_title=custom_title,
**__pydantic_kwargs,

View file

@ -24,7 +24,7 @@ class ForceReply(MutableTelegramObject):
input_field_placeholder: Optional[str] = None
"""*Optional*. The placeholder to be shown in the input field when the reply is active; 1-64 characters"""
selective: Optional[bool] = None
"""*Optional*. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message."""
"""*Optional*. Use this parameter if you want to force reply from specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message."""
if TYPE_CHECKING:
# DO NOT EDIT MANUALLY!!!

View file

@ -20,7 +20,7 @@ class GiveawayWinners(TelegramObject):
chat: Chat
"""The chat that created the giveaway"""
giveaway_message_id: int
"""Identifier of the messsage with the giveaway in the chat"""
"""Identifier of the message with the giveaway in the chat"""
winners_selection_date: DateTime
"""Point in time (Unix timestamp) when winners of the giveaway were selected"""
winner_count: int

View file

@ -21,7 +21,7 @@ class InlineKeyboardButton(MutableTelegramObject):
text: str
"""Label text on the button"""
url: Optional[str] = None
"""*Optional*. HTTP or tg:// URL to be opened when the button is pressed. Links :code:`tg://user?id=<user_id>` can be used to mention a user by their ID without using a username, if this is allowed by their privacy settings."""
"""*Optional*. HTTP or tg:// URL to be opened when the button is pressed. Links :code:`tg://user?id=<user_id>` can be used to mention a user by their identifier without using a username, if this is allowed by their privacy settings."""
callback_data: Optional[str] = None
"""*Optional*. Data to be sent in a `callback query <https://core.telegram.org/bots/api#callbackquery>`_ to the bot when button is pressed, 1-64 bytes"""
web_app: Optional[WebAppInfo] = None

View file

@ -11,7 +11,6 @@ if TYPE_CHECKING:
class InlineKeyboardMarkup(MutableTelegramObject):
"""
This object represents an `inline keyboard <https://core.telegram.org/bots/features#inline-keyboards>`_ 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*.
Source: https://core.telegram.org/bots/api#inlinekeyboardmarkup
"""

View file

@ -19,7 +19,6 @@ if TYPE_CHECKING:
class InlineQueryResultAudio(InlineQueryResult):
"""
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.
Source: https://core.telegram.org/bots/api#inlinequeryresultaudio
"""

View file

@ -19,7 +19,6 @@ if TYPE_CHECKING:
class InlineQueryResultCachedAudio(InlineQueryResult):
"""
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.
Source: https://core.telegram.org/bots/api#inlinequeryresultcachedaudio
"""

View file

@ -19,7 +19,6 @@ if TYPE_CHECKING:
class InlineQueryResultCachedDocument(InlineQueryResult):
"""
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.
Source: https://core.telegram.org/bots/api#inlinequeryresultcacheddocument
"""

View file

@ -17,7 +17,6 @@ if TYPE_CHECKING:
class InlineQueryResultCachedSticker(InlineQueryResult):
"""
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 <https://telegram.org/blog/animated-stickers>`_. Older clients will ignore them.
Source: https://core.telegram.org/bots/api#inlinequeryresultcachedsticker
"""

View file

@ -19,7 +19,6 @@ if TYPE_CHECKING:
class InlineQueryResultCachedVoice(InlineQueryResult):
"""
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.
Source: https://core.telegram.org/bots/api#inlinequeryresultcachedvoice
"""

View file

@ -17,7 +17,6 @@ if TYPE_CHECKING:
class InlineQueryResultContact(InlineQueryResult):
"""
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.
Source: https://core.telegram.org/bots/api#inlinequeryresultcontact
"""

View file

@ -19,7 +19,6 @@ if TYPE_CHECKING:
class InlineQueryResultDocument(InlineQueryResult):
"""
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.
Source: https://core.telegram.org/bots/api#inlinequeryresultdocument
"""

View file

@ -12,7 +12,6 @@ if TYPE_CHECKING:
class InlineQueryResultGame(InlineQueryResult):
"""
Represents a `Game <https://core.telegram.org/bots/api#games>`_.
**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.
Source: https://core.telegram.org/bots/api#inlinequeryresultgame
"""

View file

@ -17,7 +17,6 @@ if TYPE_CHECKING:
class InlineQueryResultLocation(InlineQueryResult):
"""
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.
Source: https://core.telegram.org/bots/api#inlinequeryresultlocation
"""

View file

@ -17,7 +17,6 @@ if TYPE_CHECKING:
class InlineQueryResultVenue(InlineQueryResult):
"""
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.
Source: https://core.telegram.org/bots/api#inlinequeryresultvenue
"""

View file

@ -19,7 +19,6 @@ if TYPE_CHECKING:
class InlineQueryResultVoice(InlineQueryResult):
"""
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.
Source: https://core.telegram.org/bots/api#inlinequeryresultvoice
"""

View file

@ -17,12 +17,6 @@ if TYPE_CHECKING:
class KeyboardButton(MutableTelegramObject):
"""
This object represents one button of the reply keyboard. For simple text buttons, *String* can be used instead of this object to specify the button text. The optional fields *web_app*, *request_users*, *request_chat*, *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*.
**Note:** *web_app* option will only work in Telegram versions released after 16 April, 2022. Older clients will display *unsupported message*.
**Note:** *request_users* and *request_chat* options will only work in Telegram versions released after 3 February, 2023. Older clients will display *unsupported message*.
Source: https://core.telegram.org/bots/api#keyboardbutton

View file

@ -16,9 +16,9 @@ class LinkPreviewOptions(TelegramObject):
url: Optional[str] = None
"""*Optional*. URL to use for the link preview. If empty, then the first URL found in the message text will be used"""
prefer_small_media: Optional[Union[bool, Default]] = Default("link_preview_prefer_small_media")
"""*Optional*. :code:`True`, if the media in the link preview is suppposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview"""
"""*Optional*. :code:`True`, if the media in the link preview is supposed to be shrunk; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview"""
prefer_large_media: Optional[Union[bool, Default]] = Default("link_preview_prefer_large_media")
"""*Optional*. :code:`True`, if the media in the link preview is suppposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview"""
"""*Optional*. :code:`True`, if the media in the link preview is supposed to be enlarged; ignored if the URL isn't explicitly specified or media size change isn't supported for the preview"""
show_above_text: Optional[Union[bool, Default]] = Default("link_preview_show_above_text")
"""*Optional*. :code:`True`, if the link preview must be shown above the message text; otherwise, the link preview will be shown below the message text"""

View file

@ -51,6 +51,7 @@ if TYPE_CHECKING:
from .animation import Animation
from .audio import Audio
from .chat import Chat
from .chat_boost_added import ChatBoostAdded
from .chat_shared import ChatShared
from .contact import Contact
from .dice import Dice
@ -133,6 +134,8 @@ class Message(MaybeInaccessibleMessage):
"""*Optional*. Sender of the message; empty for messages sent to channels. For backward compatibility, the field contains a fake sender user in non-channel chats, if the message was sent on behalf of a chat."""
sender_chat: Optional[Chat] = None
"""*Optional*. Sender of the message, sent on behalf of a chat. For example, the channel itself for channel posts, the supergroup itself for messages from anonymous group administrators, the linked channel for messages automatically forwarded to the discussion group. For backward compatibility, the field *from* contains a fake sender user in non-channel chats, if the message was sent on behalf of a chat."""
sender_boost_count: Optional[int] = None
"""*Optional*. If the sender of the message boosted the chat, the number of boosts added by the user"""
forward_origin: Optional[
Union[MessageOriginUser, MessageOriginHiddenUser, MessageOriginChat, MessageOriginChannel]
] = None
@ -147,6 +150,8 @@ class Message(MaybeInaccessibleMessage):
"""*Optional*. Information about the message that is being replied to, which may come from another chat or forum topic"""
quote: Optional[TextQuote] = None
"""*Optional*. For replies that quote part of the original message, the quoted part of the message"""
reply_to_story: Optional[Story] = None
"""*Optional*. For replies to a story, the original story"""
via_bot: Optional[User] = None
"""*Optional*. Bot through which the message was sent"""
edit_date: Optional[int] = None
@ -239,6 +244,8 @@ class Message(MaybeInaccessibleMessage):
"""*Optional*. Telegram Passport data"""
proximity_alert_triggered: Optional[ProximityAlertTriggered] = None
"""*Optional*. Service message. A user in the chat triggered another user's proximity alert while sharing Live Location."""
boost_added: Optional[ChatBoostAdded] = None
"""*Optional*. Service message: user boosted the chat"""
forum_topic_created: Optional[ForumTopicCreated] = None
"""*Optional*. Service message: forum topic created"""
forum_topic_edited: Optional[ForumTopicEdited] = None
@ -320,6 +327,7 @@ class Message(MaybeInaccessibleMessage):
message_thread_id: Optional[int] = None,
from_user: Optional[User] = None,
sender_chat: Optional[Chat] = None,
sender_boost_count: Optional[int] = None,
forward_origin: Optional[
Union[
MessageOriginUser,
@ -333,6 +341,7 @@ class Message(MaybeInaccessibleMessage):
reply_to_message: Optional[Message] = None,
external_reply: Optional[ExternalReplyInfo] = None,
quote: Optional[TextQuote] = None,
reply_to_story: Optional[Story] = None,
via_bot: Optional[User] = None,
edit_date: Optional[int] = None,
has_protected_content: Optional[bool] = None,
@ -379,6 +388,7 @@ class Message(MaybeInaccessibleMessage):
write_access_allowed: Optional[WriteAccessAllowed] = None,
passport_data: Optional[PassportData] = None,
proximity_alert_triggered: Optional[ProximityAlertTriggered] = None,
boost_added: Optional[ChatBoostAdded] = None,
forum_topic_created: Optional[ForumTopicCreated] = None,
forum_topic_edited: Optional[ForumTopicEdited] = None,
forum_topic_closed: Optional[ForumTopicClosed] = None,
@ -415,12 +425,14 @@ class Message(MaybeInaccessibleMessage):
message_thread_id=message_thread_id,
from_user=from_user,
sender_chat=sender_chat,
sender_boost_count=sender_boost_count,
forward_origin=forward_origin,
is_topic_message=is_topic_message,
is_automatic_forward=is_automatic_forward,
reply_to_message=reply_to_message,
external_reply=external_reply,
quote=quote,
reply_to_story=reply_to_story,
via_bot=via_bot,
edit_date=edit_date,
has_protected_content=has_protected_content,
@ -467,6 +479,7 @@ class Message(MaybeInaccessibleMessage):
write_access_allowed=write_access_allowed,
passport_data=passport_data,
proximity_alert_triggered=proximity_alert_triggered,
boost_added=boost_added,
forum_topic_created=forum_topic_created,
forum_topic_edited=forum_topic_edited,
forum_topic_closed=forum_topic_closed,
@ -601,6 +614,8 @@ class Message(MaybeInaccessibleMessage):
return ContentType.HAS_MEDIA_SPOILER
if self.write_access_allowed:
return ContentType.WRITE_ACCESS_ALLOWED
if self.boost_added:
return ContentType.BOOST_ADDED
return ContentType.UNKNOWN

View file

@ -26,7 +26,7 @@ class ReplyKeyboardMarkup(MutableTelegramObject):
input_field_placeholder: Optional[str] = None
"""*Optional*. The placeholder to be shown in the input field when the keyboard is active; 1-64 characters"""
selective: Optional[bool] = None
"""*Optional*. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message."""
"""*Optional*. Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message."""
if TYPE_CHECKING:
# DO NOT EDIT MANUALLY!!!

View file

@ -15,7 +15,7 @@ class ReplyKeyboardRemove(MutableTelegramObject):
remove_keyboard: Literal[True] = True
"""Requests clients to remove the custom keyboard (user will not be able to summon this keyboard; if you want to hide the keyboard from sight but keep it accessible, use *one_time_keyboard* in :class:`aiogram.types.reply_keyboard_markup.ReplyKeyboardMarkup`)"""
selective: Optional[bool] = None
"""*Optional*. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message."""
"""*Optional*. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message."""
if TYPE_CHECKING:
# DO NOT EDIT MANUALLY!!!

View file

@ -1,9 +1,32 @@
from aiogram.types import TelegramObject
from __future__ import annotations
from typing import TYPE_CHECKING, Any
from .base import TelegramObject
if TYPE_CHECKING:
from .chat import Chat
class Story(TelegramObject):
"""
This object represents a message about a forwarded story in the chat. Currently holds no information.
This object represents a story.
Source: https://core.telegram.org/bots/api#story
"""
chat: Chat
"""Chat that posted the story"""
id: int
"""Unique identifier for the story in the chat"""
if TYPE_CHECKING:
# DO NOT EDIT MANUALLY!!!
# This section was auto-generated via `butcher`
def __init__(__pydantic__self__, *, chat: Chat, id: int, **__pydantic_kwargs: Any) -> None:
# DO NOT EDIT MANUALLY!!!
# This method was auto-generated via `butcher`
# Is needed only for type checking and IDE support without any additional plugins
super().__init__(chat=chat, id=id, **__pydantic_kwargs)

View file

@ -32,19 +32,19 @@ class Update(TelegramObject):
"""
update_id: int
"""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."""
"""The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This identifier 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."""
message: Optional[Message] = None
"""*Optional*. New incoming message of any kind - text, photo, sticker, etc."""
edited_message: Optional[Message] = None
"""*Optional*. New version of a message that is known to the bot and was edited"""
"""*Optional*. New version of a message that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot."""
channel_post: Optional[Message] = None
"""*Optional*. New incoming channel post of any kind - text, photo, sticker, etc."""
edited_channel_post: Optional[Message] = None
"""*Optional*. New version of a channel post that is known to the bot and was edited"""
"""*Optional*. New version of a channel post that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot."""
message_reaction: Optional[MessageReactionUpdated] = None
"""*Optional*. A reaction to a message was changed by a user. The bot must be an administrator in the chat and must explicitly specify :code:`"message_reaction"` in the list of *allowed_updates* to receive these updates. The update isn't received for reactions set by bots."""
message_reaction_count: Optional[MessageReactionCountUpdated] = None
"""*Optional*. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify :code:`"message_reaction_count"` in the list of *allowed_updates* to receive these updates."""
"""*Optional*. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify :code:`"message_reaction_count"` in the list of *allowed_updates* to receive these updates. The updates are grouped and can be sent with delay up to a few minutes."""
inline_query: Optional[InlineQuery] = None
"""*Optional*. New incoming `inline <https://core.telegram.org/bots/api#inline-mode>`_ query"""
chosen_inline_result: Optional[ChosenInlineResult] = None
@ -56,7 +56,7 @@ class Update(TelegramObject):
pre_checkout_query: Optional[PreCheckoutQuery] = None
"""*Optional*. New incoming pre-checkout query. Contains full information about checkout"""
poll: Optional[Poll] = None
"""*Optional*. New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot"""
"""*Optional*. New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot"""
poll_answer: Optional[PollAnswer] = None
"""*Optional*. A user changed their answer in a non-anonymous poll. Bots receive new votes only in polls that were sent by the bot itself."""
my_chat_member: Optional[ChatMemberUpdated] = None

View file

@ -29,6 +29,7 @@ Available types
chat
chat_administrator_rights
chat_boost
chat_boost_added
chat_boost_removed
chat_boost_source
chat_boost_source_gift_code

View file

@ -17,6 +17,9 @@ class TestGetMyDefaultAdministratorRights:
can_promote_members=False,
can_change_info=False,
can_invite_users=False,
can_post_stories=False,
can_edit_stories=False,
can_delete_stories=False,
),
)

View file

@ -41,6 +41,7 @@ from aiogram.types import (
Animation,
Audio,
Chat,
ChatBoostAdded,
ChatShared,
Contact,
Dice,
@ -483,7 +484,7 @@ TEST_MESSAGE_STORY = Message(
date=datetime.datetime.now(),
chat=Chat(id=42, type="private"),
from_user=User(id=42, is_bot=False, first_name="Test"),
story=Story(),
story=Story(chat=Chat(id=42, type="private"), id=42),
forward_signature="Test",
forward_date=datetime.datetime.now(),
)
@ -554,6 +555,13 @@ TEST_MESSAGE_WRITE_ACCESS_ALLOWED = Message(
from_user=None,
write_access_allowed=WriteAccessAllowed(),
)
TEST_MESSAGE_BOOST_ADDED = Message(
message_id=42,
date=datetime.datetime.now(),
chat=Chat(id=42, type="private"),
from_user=User(id=42, is_bot=False, first_name="User"),
boost_added=ChatBoostAdded(boost_count=1),
)
TEST_MESSAGE_UNKNOWN = Message(
message_id=42,
date=datetime.datetime.now(),
@ -621,6 +629,7 @@ MESSAGES_AND_CONTENT_TYPES = [
[TEST_MESSAGE_GENERAL_FORUM_TOPIC_HIDDEN, ContentType.GENERAL_FORUM_TOPIC_HIDDEN],
[TEST_MESSAGE_GENERAL_FORUM_TOPIC_UNHIDDEN, ContentType.GENERAL_FORUM_TOPIC_UNHIDDEN],
[TEST_MESSAGE_WRITE_ACCESS_ALLOWED, ContentType.WRITE_ACCESS_ALLOWED],
[TEST_MESSAGE_BOOST_ADDED, ContentType.BOOST_ADDED],
[TEST_MESSAGE_UNKNOWN, ContentType.UNKNOWN],
]
@ -679,6 +688,7 @@ MESSAGES_AND_COPY_METHODS = [
[TEST_MESSAGE_WRITE_ACCESS_ALLOWED, None],
[TEST_MESSAGE_GIVEAWAY, None],
[TEST_MESSAGE_GIVEAWAY_WINNERS, None],
[TEST_MESSAGE_BOOST_ADDED, None],
[TEST_MESSAGE_UNKNOWN, None],
]

View file

@ -315,6 +315,9 @@ class TestChatMemberUpdatedStatusFilter:
"can_send_polls": True,
"can_send_other_messages": True,
"can_add_web_page_previews": True,
"can_post_stories": True,
"can_edit_stories": True,
"can_delete_stories": True,
}
@pytest.mark.parametrize(