Added full support of Bot API 7.2 (#1444)

* Added base support of Bot API 7.2

* Added base support of Bot API 7.2

* Fixing tests and content types for Telegram Bot API 7.2 update (#1453)

* Fixing tests and content types for Telegram Bot API 7.2

* Adding changelog for 1453 PR

* Fixes + coverage

* Replace `BusinessConnection.date` type

* Reformat code

* Refactor UserContextMiddleware to use EventContext class

This update significantly refactors UserContextMiddleware to leverage a new class, EventContext. Instead of resolving event context as a tuple, it now produces an instance of EventContext. Additional adjustments include supporting a business connection ID for event context identification and facilitating backwards compatibility. Tests and other files were also updated accordingly for these changes.

* Cover FSM key builder (business_connection_id

* Added changelog

---------

Co-authored-by: RoLOQ <roman.fedunn@gmail.com>
This commit is contained in:
Alex Root Junior 2024-04-22 13:48:49 +03:00 committed by GitHub
parent 5f157beb26
commit 057478621b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
147 changed files with 3509 additions and 651 deletions

View file

@ -11,6 +11,14 @@
"html_description": "<p>Use this method when you need to tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Returns <em>True</em> on success.</p><blockquote>\n<p>Example: The <a href=\"https://t.me/imagebot\">ImageBot</a> needs some time to process a request and upload the image. Instead of sending a text message along the lines of &#8220;Retrieving image, please wait&#8230;&#8221;, the bot may use <a href=\"#sendchataction\">sendChatAction</a> with <em>action</em> = <em>upload_photo</em>. The user will see a &#8220;sending photo&#8221; status for the bot.</p>\n</blockquote><p>We only recommend using this method when a response from the bot will take a <strong>noticeable</strong> amount of time to arrive.</p>",
"rst_description": "Use this method when you need to tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Returns :code:`True` on success.\n\n Example: The `ImageBot <https://t.me/imagebot>`_ needs some time to process a request and upload the image. Instead of sending a text message along the lines of 'Retrieving image, please wait…', the bot may use :class:`aiogram.methods.send_chat_action.SendChatAction` with *action* = *upload_photo*. The user will see a 'sending photo' status for the bot.\n\nWe only recommend using this method when a response from the bot will take a **noticeable** amount of time to arrive.",
"annotations": [
{
"type": "String",
"required": false,
"description": "Unique identifier of the business connection on behalf of which the action will be sent",
"html_description": "<td>Unique identifier of the business connection on behalf of which the action will be sent</td>",
"rst_description": "Unique identifier of the business connection on behalf of which the action will be sent\n",
"name": "business_connection_id"
},
{
"type": "Integer or String",
"required": true,
@ -22,9 +30,9 @@
{
"type": "Integer",
"required": false,
"description": "Unique identifier for the target message thread; supergroups only",
"html_description": "<td>Unique identifier for the target message thread; supergroups only</td>",
"rst_description": "Unique identifier for the target message thread; supergroups only\n",
"description": "Unique identifier for the target message thread; for supergroups only",
"html_description": "<td>Unique identifier for the target message thread; for supergroups only</td>",
"rst_description": "Unique identifier for the target message thread; for supergroups only\n",
"name": "message_thread_id"
},
{