From a91d4102b601df63efff2959fdc2ff05f6f98059 Mon Sep 17 00:00:00 2001 From: Oleg Date: Mon, 27 Apr 2026 01:19:34 +0300 Subject: [PATCH 01/10] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B2=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B8=20=D1=83=D0=BB=D1=83?= =?UTF-8?q?=D1=87=D1=88=D0=B5=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B0=D1=80=D0=B3=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/connection/index.md | 2 ++ docs/context/index.md | 2 ++ docs/enums/index.md | 2 ++ docs/exceptions/dispatcher.md | 2 ++ docs/exceptions/max.md | 2 ++ docs/filters/index.md | 2 ++ docs/methods/index.md | 2 ++ docs/methods/types/index.md | 2 ++ docs/types/attachments/buttons/index.md | 2 ++ docs/types/attachments/index.md | 2 ++ docs/types/index.md | 2 ++ docs/types/updates/index.md | 2 ++ docs/types/updates/update.md | 2 +- docs/utils/index.md | 2 ++ maxapi/bot.py | 6 ++--- maxapi/methods/send_message.py | 3 +-- maxapi/types/message.py | 28 +++++++++--------------- maxapi/types/updates/message_callback.py | 4 +--- maxapi/utils/formatting.py | 2 +- 19 files changed, 42 insertions(+), 29 deletions(-) diff --git a/docs/connection/index.md b/docs/connection/index.md index a72a769..cd976eb 100644 --- a/docs/connection/index.md +++ b/docs/connection/index.md @@ -1,3 +1,5 @@ # Package: maxapi.connection ::: maxapi.connection + options: + members: false diff --git a/docs/context/index.md b/docs/context/index.md index 91e44f9..20a6d41 100644 --- a/docs/context/index.md +++ b/docs/context/index.md @@ -1,3 +1,5 @@ # Package: maxapi.context ::: maxapi.context + options: + members: false diff --git a/docs/enums/index.md b/docs/enums/index.md index e6f0b5c..a29f0d6 100644 --- a/docs/enums/index.md +++ b/docs/enums/index.md @@ -1,3 +1,5 @@ # Package: maxapi.enums ::: maxapi.enums + options: + members: false diff --git a/docs/exceptions/dispatcher.md b/docs/exceptions/dispatcher.md index 87583f7..e06de5b 100644 --- a/docs/exceptions/dispatcher.md +++ b/docs/exceptions/dispatcher.md @@ -6,5 +6,7 @@ members_order: source filters: - "!^_[^_]" + - "!^DownloadFileError$" + - "!^NotAvailableForDownload$" - "^HandlerException$" - "^MiddlewareException$" diff --git a/docs/exceptions/max.md b/docs/exceptions/max.md index 704bb6b..09cc6f7 100644 --- a/docs/exceptions/max.md +++ b/docs/exceptions/max.md @@ -6,6 +6,8 @@ members_order: source filters: - "!^_[^_]" + - "!^DownloadFileError$" + - "!^NotAvailableForDownload$" - "^InvalidToken$" - "^MaxConnection$" - "^MaxUploadFileFailed$" diff --git a/docs/filters/index.md b/docs/filters/index.md index b8ae3b5..4aab2a4 100644 --- a/docs/filters/index.md +++ b/docs/filters/index.md @@ -1,3 +1,5 @@ # Package: maxapi.filters ::: maxapi.filters + options: + members: false diff --git a/docs/methods/index.md b/docs/methods/index.md index f7e78ac..deffa15 100644 --- a/docs/methods/index.md +++ b/docs/methods/index.md @@ -1,3 +1,5 @@ # Package: maxapi.methods ::: maxapi.methods + options: + members: false diff --git a/docs/methods/types/index.md b/docs/methods/types/index.md index 646dba1..7a14c77 100644 --- a/docs/methods/types/index.md +++ b/docs/methods/types/index.md @@ -1,3 +1,5 @@ # Package: maxapi.methods.types ::: maxapi.methods.types + options: + members: false diff --git a/docs/types/attachments/buttons/index.md b/docs/types/attachments/buttons/index.md index fd14a95..4bf22ae 100644 --- a/docs/types/attachments/buttons/index.md +++ b/docs/types/attachments/buttons/index.md @@ -1,3 +1,5 @@ # Package: maxapi.types.attachments.buttons ::: maxapi.types.attachments.buttons + options: + members: false diff --git a/docs/types/attachments/index.md b/docs/types/attachments/index.md index b7d8305..174a9a2 100644 --- a/docs/types/attachments/index.md +++ b/docs/types/attachments/index.md @@ -1,3 +1,5 @@ # Package: maxapi.types.attachments ::: maxapi.types.attachments + options: + members: false diff --git a/docs/types/index.md b/docs/types/index.md index 28eb0bb..ea7e7fc 100644 --- a/docs/types/index.md +++ b/docs/types/index.md @@ -1,3 +1,5 @@ # Package: maxapi.types ::: maxapi.types + options: + members: false diff --git a/docs/types/updates/index.md b/docs/types/updates/index.md index 483febe..daee7fe 100644 --- a/docs/types/updates/index.md +++ b/docs/types/updates/index.md @@ -1,3 +1,5 @@ # Package: maxapi.types.updates ::: maxapi.types.updates + options: + members: false diff --git a/docs/types/updates/update.md b/docs/types/updates/update.md index 1a7166c..193e337 100644 --- a/docs/types/updates/update.md +++ b/docs/types/updates/update.md @@ -3,4 +3,4 @@ ::: maxapi.types.updates options: show_root_heading: false - members_order: source + members: false diff --git a/docs/utils/index.md b/docs/utils/index.md index 23dc82c..da7f1d8 100644 --- a/docs/utils/index.md +++ b/docs/utils/index.md @@ -1,3 +1,5 @@ # Package: maxapi.utils ::: maxapi.utils + options: + members: false diff --git a/maxapi/bot.py b/maxapi/bot.py index 24e0850..8de0580 100644 --- a/maxapi/bot.py +++ b/maxapi/bot.py @@ -374,8 +374,7 @@ async def send_message( user_id). user_id (Optional[int]): ID пользователя (если не chat_id). text (Optional[str]): Текст сообщения. - attachments (Optional[List[Attachment | InputMedia | - InputMediaBuffer]]): Вложения. + attachments: Вложения. link (Optional[NewMessageLink]): Данные ссылки сообщения. notify (Optional[bool]): Флаг уведомления. format (Optional[TextFormat]): Режим форматирования @@ -453,8 +452,7 @@ async def edit_message( Args: message_id (str): ID сообщения. text (Optional[str]): Новый текст. - attachments (Optional[List[Attachment | InputMedia | - InputMediaBuffer]]): Новые вложения. + attachments: Новые вложения. link (Optional[NewMessageLink]): Новая ссылка. notify (Optional[bool]): Флаг уведомления. format (Optional[TextFormat]): Режим форматирования diff --git a/maxapi/methods/send_message.py b/maxapi/methods/send_message.py index 1472ebe..212a37e 100644 --- a/maxapi/methods/send_message.py +++ b/maxapi/methods/send_message.py @@ -35,8 +35,7 @@ class SendMessage(BaseConnection): user_id (Optional[int]): Идентификатор пользователя, если нужно отправить личное сообщение. text (Optional[str]): Текст сообщения. - attachments (Optional[List[Attachment | InputMedia | - InputMediaBuffer]]): Список вложений к сообщению. + attachments: Список вложений к сообщению. link (Optional[NewMessageLink]): Связь с другим сообщением (например, ответ или пересылка). notify (Optional[bool]): Отправлять ли уведомление о сообщении. diff --git a/maxapi/types/message.py b/maxapi/types/message.py index 9dd8f37..50fdfb8 100644 --- a/maxapi/types/message.py +++ b/maxapi/types/message.py @@ -105,11 +105,8 @@ class MessageBody(BaseModel): mid (str): Уникальный идентификатор сообщения. seq (int): Порядковый номер сообщения. text (str): Текст сообщения. Может быть None. - attachments (Optional[List[Union[AttachmentButton, Audio, Video, - File, Image, Sticker, Share]]]): - Список вложений. По умолчанию пустой. - markup (Optional[List[Union[MarkupLink, MarkupUserMention, - MarkupElement]]]): Список элементов разметки. По умолчанию пустой. + attachments: Список вложений. По умолчанию пустой. + markup: Список элементов разметки. По умолчанию пустой. """ mid: str @@ -369,9 +366,7 @@ async def answer( Args: text (str, optional): Текст ответа. Может быть None. - attachments (List[Attachment | InputMedia | InputMediaBuffer - | AttachmentUpload], optional): Список вложений. - Может быть None. + attachments (list, optional): Список вложений. Может быть None. link (NewMessageLink, optional): Связь с другим сообщением. Может быть None. format (TextFormat, optional): Режим форматирования текста. @@ -418,16 +413,15 @@ async def reply( Args: text (str, optional): Текст ответа. Может быть None. - attachments (List[Attachment | InputMedia | InputMediaBuffer - | AttachmentUpload], optional): Список вложений. - Может быть None. + attachments (list, optional): Список вложений. Может быть None. notify (bool): Флаг отправки уведомления. По умолчанию True. format (TextFormat, optional): Режим форматирования текста. Может быть None. parse_mode (ParseMode, optional): Режим форматирования текста. Может быть None. disable_link_preview (bool, optional): Флаг генерации превью. - sleep_after_input_media: Optional[bool] = True, + sleep_after_input_media (bool, optional): Флаг задержки + после отправки вложений типа InputMedia. По умолчанию True. Returns: Optional[SendedMessage]: Результат выполнения метода @@ -479,16 +473,15 @@ async def forward( указан user_id) user_id (int): ID пользователя для отправки (обязателен, если не указан chat_id). По умолчанию None - attachments (List[Attachment | InputMedia | InputMediaBuffer - | AttachmentUpload], optional): Список вложений. - Может быть None. + attachments (list, optional): Список вложений. Может быть None. notify (bool): Флаг отправки уведомления. По умолчанию True. format (TextFormat, optional): Режим форматирования текста. Может быть None. parse_mode (ParseMode, optional): Режим форматирования текста. Может быть None. disable_link_preview (bool, optional): Флаг генерации превью. - sleep_after_input_media: Optional[bool] = True, + sleep_after_input_media (bool, optional): Флаг задержки + после отправки вложений типа InputMedia. По умолчанию True. Returns: Optional[SendedMessage]: Результат выполнения метода @@ -533,8 +526,7 @@ async def edit( Args: text (str, optional): Новый текст сообщения. Может быть None. - attachments (List[Attachment | InputMedia | InputMediaBuffer | - AttachmentUpload], optional): Новые вложения. Может быть None. + attachments (list, optional): Новые вложения. Может быть None. link (NewMessageLink, optional): Новая связь с сообщением. Может быть None. format (TextFormat, optional): Режим форматирования текста. diff --git a/maxapi/types/updates/message_callback.py b/maxapi/types/updates/message_callback.py index 1b559c7..9df2591 100644 --- a/maxapi/types/updates/message_callback.py +++ b/maxapi/types/updates/message_callback.py @@ -31,9 +31,7 @@ class MessageForCallback(BaseModel): Attributes: text (Optional[str]): Текст сообщения. - attachments (Optional[List[Union[AttachmentButton, Audio, Video, - File, Image, Sticker, Share]]]): - Список вложений. + attachments: Список вложений. link (Optional[NewMessageLink]): Связь с другим сообщением. notify (Optional[bool]): Отправлять ли уведомление. format (Optional[ParseMode]): Режим разбора текста. diff --git a/maxapi/utils/formatting.py b/maxapi/utils/formatting.py index 3029148..066f22a 100644 --- a/maxapi/utils/formatting.py +++ b/maxapi/utils/formatting.py @@ -221,7 +221,7 @@ class Link(_Node): """Гиперссылка: ``text`` / ``[text](url)``. Args: - text: Текст ссылки (строки или узлы форматирования). + *parts: Текст ссылки (строки или узлы форматирования). url: URL ссылки. """ From 44abde0010b91507ff26107d87f448e2412b86f6 Mon Sep 17 00:00:00 2001 From: Oleg Date: Mon, 27 Apr 2026 01:25:14 +0300 Subject: [PATCH 02/10] =?UTF-8?q?feat:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B5=20?= =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20BaseUpdate=20=D0=B8=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B2=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/types/updates/base_update.md | 6 ++++++ docs/types/updates/update.md | 6 +++++- mkdocs.yml | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 docs/types/updates/base_update.md diff --git a/docs/types/updates/base_update.md b/docs/types/updates/base_update.md new file mode 100644 index 0000000..d6c896d --- /dev/null +++ b/docs/types/updates/base_update.md @@ -0,0 +1,6 @@ +# BaseUpdate + +::: maxapi.types.updates.base_update + options: + show_root_heading: false + members_order: source diff --git a/docs/types/updates/update.md b/docs/types/updates/update.md index 193e337..ee33c25 100644 --- a/docs/types/updates/update.md +++ b/docs/types/updates/update.md @@ -3,4 +3,8 @@ ::: maxapi.types.updates options: show_root_heading: false - members: false + members_order: source + members: + - UpdateUnion + - UpdateUnionAdapter + - UNKNOWN_UPDATE_DISCLAIMER diff --git a/mkdocs.yml b/mkdocs.yml index a836a22..1879d01 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -226,6 +226,7 @@ nav: - Message_edited: types/updates/message_edited.md - Message_removed: types/updates/message_removed.md - Overview: types/updates/index.md + - BaseUpdate: types/updates/base_update.md - Update: types/updates/update.md - User_added: types/updates/user_added.md - User_removed: types/updates/user_removed.md From 436ad114df2aa3d704277f3f8e93e33525ef5c79 Mon Sep 17 00:00:00 2001 From: "Oleg A." Date: Mon, 27 Apr 2026 08:14:26 +0300 Subject: [PATCH 03/10] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- maxapi/bot.py | 4 ++-- maxapi/methods/send_message.py | 3 ++- maxapi/types/message.py | 4 ++-- maxapi/types/updates/message_callback.py | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/maxapi/bot.py b/maxapi/bot.py index 8de0580..1676fa8 100644 --- a/maxapi/bot.py +++ b/maxapi/bot.py @@ -374,7 +374,7 @@ async def send_message( user_id). user_id (Optional[int]): ID пользователя (если не chat_id). text (Optional[str]): Текст сообщения. - attachments: Вложения. + attachments (Optional[list]): Вложения. link (Optional[NewMessageLink]): Данные ссылки сообщения. notify (Optional[bool]): Флаг уведомления. format (Optional[TextFormat]): Режим форматирования @@ -452,7 +452,7 @@ async def edit_message( Args: message_id (str): ID сообщения. text (Optional[str]): Новый текст. - attachments: Новые вложения. + attachments (Optional[list]): Новые вложения. link (Optional[NewMessageLink]): Новая ссылка. notify (Optional[bool]): Флаг уведомления. format (Optional[TextFormat]): Режим форматирования diff --git a/maxapi/methods/send_message.py b/maxapi/methods/send_message.py index 212a37e..fa5c453 100644 --- a/maxapi/methods/send_message.py +++ b/maxapi/methods/send_message.py @@ -35,7 +35,8 @@ class SendMessage(BaseConnection): user_id (Optional[int]): Идентификатор пользователя, если нужно отправить личное сообщение. text (Optional[str]): Текст сообщения. - attachments: Список вложений к сообщению. + attachments (Optional[list]): Список вложений к сообщению. + Может быть None. link (Optional[NewMessageLink]): Связь с другим сообщением (например, ответ или пересылка). notify (Optional[bool]): Отправлять ли уведомление о сообщении. diff --git a/maxapi/types/message.py b/maxapi/types/message.py index 50fdfb8..800bdb5 100644 --- a/maxapi/types/message.py +++ b/maxapi/types/message.py @@ -105,8 +105,8 @@ class MessageBody(BaseModel): mid (str): Уникальный идентификатор сообщения. seq (int): Порядковый номер сообщения. text (str): Текст сообщения. Может быть None. - attachments: Список вложений. По умолчанию пустой. - markup: Список элементов разметки. По умолчанию пустой. + attachments (Optional[list[Attachments]]): Список вложений. По умолчанию пустой список. + markup (Optional[list[MarkupUserMention | MarkupLink | MarkupElement]]): Список элементов разметки. По умолчанию пустой список. """ mid: str diff --git a/maxapi/types/updates/message_callback.py b/maxapi/types/updates/message_callback.py index 9df2591..ca4f85f 100644 --- a/maxapi/types/updates/message_callback.py +++ b/maxapi/types/updates/message_callback.py @@ -31,7 +31,7 @@ class MessageForCallback(BaseModel): Attributes: text (Optional[str]): Текст сообщения. - attachments: Список вложений. + attachments (Optional[list[Attachments]]): Список вложений. По умолчанию пустой список. link (Optional[NewMessageLink]): Связь с другим сообщением. notify (Optional[bool]): Отправлять ли уведомление. format (Optional[ParseMode]): Режим разбора текста. From a851afed745cfea5f719a3a3d7237e1d129d8dcd Mon Sep 17 00:00:00 2001 From: Oleg Date: Mon, 27 Apr 2026 08:58:33 +0300 Subject: [PATCH 04/10] =?UTF-8?q?docs:=20=D1=83=D0=B1=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=B4=D1=83=D0=B1=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B0=D0=BD=D0=BD=D0=BE=D1=82=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maxapi/bot.py | 192 +++++++++--------- maxapi/client/default.py | 34 ++-- maxapi/connection/base.py | 30 +-- maxapi/dispatcher.py | 102 +++++----- maxapi/filters/__init__.py | 4 +- maxapi/filters/callback_payload.py | 14 +- maxapi/filters/command.py | 28 +-- maxapi/filters/handler.py | 8 +- maxapi/filters/middleware.py | 6 +- maxapi/methods/add_admin_chat.py | 8 +- maxapi/methods/add_members_chat.py | 6 +- maxapi/methods/change_info.py | 10 +- maxapi/methods/delete_bot_from_chat.py | 4 +- maxapi/methods/delete_chat.py | 4 +- maxapi/methods/delete_message.py | 4 +- maxapi/methods/delete_pin_message.py | 4 +- maxapi/methods/edit_chat.py | 12 +- maxapi/methods/edit_message.py | 16 +- maxapi/methods/get_chat_by_id.py | 4 +- maxapi/methods/get_chat_by_link.py | 6 +- maxapi/methods/get_chats.py | 6 +- maxapi/methods/get_list_admin_chat.py | 6 +- maxapi/methods/get_me.py | 2 +- maxapi/methods/get_me_from_chat.py | 4 +- maxapi/methods/get_members_chat.py | 10 +- maxapi/methods/get_message.py | 4 +- maxapi/methods/get_messages.py | 12 +- maxapi/methods/get_pinned_message.py | 4 +- maxapi/methods/get_subscriptions.py | 2 +- maxapi/methods/get_updates.py | 10 +- maxapi/methods/get_upload_url.py | 4 +- maxapi/methods/get_video.py | 4 +- maxapi/methods/pin_message.py | 8 +- maxapi/methods/remove_admin.py | 6 +- maxapi/methods/remove_member_chat.py | 8 +- maxapi/methods/send_action.py | 6 +- maxapi/methods/send_callback.py | 8 +- maxapi/methods/send_message.py | 20 +- maxapi/methods/subscribe_webhook.py | 8 +- maxapi/methods/types/added_admin_chat.py | 4 +- maxapi/methods/types/added_members_chat.py | 8 +- maxapi/methods/types/deleted_bot_from_chat.py | 4 +- maxapi/methods/types/deleted_chat.py | 4 +- maxapi/methods/types/deleted_message.py | 4 +- maxapi/methods/types/deleted_pin_message.py | 4 +- maxapi/methods/types/edited_message.py | 4 +- .../methods/types/getted_list_admin_chat.py | 4 +- maxapi/methods/types/getted_members_chat.py | 4 +- maxapi/methods/types/getted_pineed_message.py | 2 +- maxapi/methods/types/getted_subscriptions.py | 2 +- maxapi/methods/types/pinned_message.py | 4 +- maxapi/methods/types/removed_admin.py | 4 +- maxapi/methods/types/removed_member_chat.py | 4 +- maxapi/methods/types/sended_action.py | 4 +- maxapi/methods/types/sended_callback.py | 6 +- maxapi/methods/types/sended_message.py | 2 +- maxapi/methods/types/subscribed.py | 4 +- maxapi/methods/types/unsubscribed.py | 4 +- maxapi/methods/unsubscribe_webhook.py | 4 +- maxapi/types/attachments/attachment.py | 28 +-- maxapi/types/attachments/audio.py | 2 +- .../types/attachments/buttons/link_button.py | 2 +- .../attachments/buttons/request_contact.py | 2 +- maxapi/types/attachments/file.py | 4 +- maxapi/types/attachments/image.py | 8 +- maxapi/types/attachments/location.py | 4 +- maxapi/types/attachments/share.py | 8 +- maxapi/types/attachments/sticker.py | 4 +- maxapi/types/attachments/upload.py | 6 +- maxapi/types/attachments/video.py | 30 +-- maxapi/types/callback.py | 8 +- maxapi/types/chats.py | 52 ++--- maxapi/types/command.py | 4 +- maxapi/types/input_media.py | 20 +- maxapi/types/message.py | 124 +++++------ maxapi/types/subscription.py | 6 +- maxapi/types/updates/base_update.py | 4 +- maxapi/types/updates/bot_added.py | 6 +- maxapi/types/updates/bot_removed.py | 6 +- maxapi/types/updates/bot_started.py | 8 +- maxapi/types/updates/bot_stopped.py | 8 +- maxapi/types/updates/chat_title_changed.py | 6 +- maxapi/types/updates/dialog_cleared.py | 6 +- maxapi/types/updates/dialog_muted.py | 8 +- maxapi/types/updates/dialog_removed.py | 6 +- maxapi/types/updates/dialog_unmuted.py | 6 +- maxapi/types/updates/message_callback.py | 26 +-- maxapi/types/updates/message_chat_created.py | 8 +- maxapi/types/updates/message_created.py | 4 +- maxapi/types/updates/message_edited.py | 2 +- maxapi/types/updates/message_removed.py | 6 +- maxapi/types/updates/user_added.py | 8 +- maxapi/types/updates/user_removed.py | 8 +- maxapi/types/users.py | 24 +-- maxapi/utils/message.py | 6 +- maxapi/utils/updates.py | 4 +- 96 files changed, 590 insertions(+), 590 deletions(-) diff --git a/maxapi/bot.py b/maxapi/bot.py index 1676fa8..bfd07e9 100644 --- a/maxapi/bot.py +++ b/maxapi/bot.py @@ -116,40 +116,40 @@ def __init__( Инициализирует экземпляр бота. Args: - token (str): Токен доступа к API бота. При None идет + token: Токен доступа к API бота. При None идет получение из под окружения MAX_BOT_TOKEN. - format (Optional[TextFormat]): Форматирование по + format: Форматирование по умолчанию. - parse_mode (Optional[ParseMode]): Форматирование по + parse_mode: Форматирование по умолчанию. - notify (Optional[bool]): Отключение уведомлений при отправке + notify: Отключение уведомлений при отправке сообщений. - disable_link_preview (Optional[bool]): Если false, сервер не + disable_link_preview: Если false, сервер не будет генерировать превью для ссылок в тексте сообщений. - auto_requests (bool): Автоматическое заполнение + auto_requests: Автоматическое заполнение chat/from_user через API (по умолчанию True). При False дополнительные запросы для их заполнения не выполняются: в event.chat/event.from_user могут оставаться lazy ref с ручным await .fetch(), либо эти поля уже могут быть заполнены данными из payload события. - default_connection (Optional[DefaultConnectionProperties]): + default_connection: Настройки соединения. - after_input_media_delay (Optional[float]): Задержка после + after_input_media_delay: Задержка после загрузки файла. - after_upload_attempts (Optional[int]): Количество попыток + after_upload_attempts: Количество попыток отправки сообщения после загрузки медиа (по умолчанию 5). - after_upload_retry_delay (Optional[float]): Задержка между + after_upload_retry_delay: Задержка между попытками отправки после загрузки медиа в секундах (по умолчанию 2.0). - after_upload_give_up_timeout (Optional[float]): Максимальное + after_upload_give_up_timeout: Максимальное общее время ожидания готовности медиа в секундах. None — без ограничения по времени, только по количеству попыток (по умолчанию None). - auto_check_subscriptions (bool): Проверка подписок для + auto_check_subscriptions: Проверка подписок для метода start_polling. - marker_updates (Optional[int]): Маркер для получения + marker_updates: Маркер для получения обновлений. """ @@ -216,7 +216,7 @@ def set_marker_updates(self, marker_updates: int) -> None: Устанавливает маркер для получения обновлений. Args: - marker_updates (int): Маркер для получения обновлений. + marker_updates: Маркер для получения обновлений. """ self.marker_updates = marker_updates @@ -255,7 +255,7 @@ def _resolve_disable_link_preview( Определяет флаг превью. Args: - disable_link_preview (Optional[bool]): Локальный флаг. + disable_link_preview: Локальный флаг. Returns: Optional[bool]: Итоговый флаг. @@ -272,7 +272,7 @@ def _resolve_notify(self, *, notify: bool | None) -> bool | None: Определяет флаг уведомления. Args: - notify (Optional[bool]): Локальный флаг. + notify: Локальный флаг. Returns: Optional[bool]: Итоговый флаг. @@ -289,8 +289,8 @@ def resolve_format( Определяет режим форматирования. Args: - format (Optional[TextFormat]): Локальный режим. - parse_mode (Optional[ParseMode]): Устаревший локальный режим. + format: Локальный режим. + parse_mode: Устаревший локальный режим. Returns: Optional[TextFormat]: Итоговый режим. @@ -370,20 +370,20 @@ async def send_message( https://dev.max.ru/docs-api/methods/POST/messages Args: - chat_id (Optional[int]): ID чата для отправки (если не + chat_id: ID чата для отправки (если не user_id). - user_id (Optional[int]): ID пользователя (если не chat_id). - text (Optional[str]): Текст сообщения. - attachments (Optional[list]): Вложения. - link (Optional[NewMessageLink]): Данные ссылки сообщения. - notify (Optional[bool]): Флаг уведомления. - format (Optional[TextFormat]): Режим форматирования + user_id: ID пользователя (если не chat_id). + text: Текст сообщения. + attachments: Вложения. + link: Данные ссылки сообщения. + notify: Флаг уведомления. + format: Режим форматирования текста. - parse_mode (Optional[ParseMode]): Режим форматирования + parse_mode: Режим форматирования текста. - disable_link_preview (Optional[bool]): Флаг генерации + disable_link_preview: Флаг генерации превью. - sleep_after_input_media (Optional[bool]): Нужно ли делать + sleep_after_input_media: Нужно ли делать задержку после загрузки вложений. Returns: @@ -417,8 +417,8 @@ async def send_action( https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions Args: - chat_id (Optional[int]): ID чата. - action (SenderAction): Тип действия. + chat_id: ID чата. + action: Тип действия. Returns: SendedAction: Результат отправки действия. @@ -450,16 +450,16 @@ async def edit_message( https://dev.max.ru/docs-api/methods/PUT/messages Args: - message_id (str): ID сообщения. - text (Optional[str]): Новый текст. - attachments (Optional[list]): Новые вложения. - link (Optional[NewMessageLink]): Новая ссылка. - notify (Optional[bool]): Флаг уведомления. - format (Optional[TextFormat]): Режим форматирования + message_id: ID сообщения. + text: Новый текст. + attachments: Новые вложения. + link: Новая ссылка. + notify: Флаг уведомления. + format: Режим форматирования текста. - parse_mode (Optional[ParseMode]): Режим форматирования + parse_mode: Режим форматирования текста. - sleep_after_input_media (Optional[bool]): Нужно ли делать + sleep_after_input_media: Нужно ли делать задержку после загрузки вложений. Returns: @@ -486,7 +486,7 @@ async def delete_message(self, message_id: str) -> DeletedMessage: https://dev.max.ru/docs-api/methods/DELETE/messages Args: - message_id (str): ID сообщения. + message_id: ID сообщения. Returns: DeletedMessage: Результат удаления. @@ -504,7 +504,7 @@ async def delete_chat(self, chat_id: int) -> DeletedChat: https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId- Args: - chat_id (int): ID чата. + chat_id: ID чата. Returns: DeletedChat: Результат удаления чата. @@ -529,11 +529,11 @@ async def get_messages( https://dev.max.ru/docs-api/methods/GET/messages Args: - chat_id (Optional[int]): ID чата. - message_ids (Optional[List[str]]): ID сообщений. - from_time (Optional[datetime | int]): Начало периода. - to_time (Optional[datetime | int]): Конец периода. - count (int): Количество сообщений. + chat_id: ID чата. + message_ids: ID сообщений. + from_time: Начало периода. + to_time: Конец периода. + count: Количество сообщений. Returns: Messages: Список сообщений. @@ -555,7 +555,7 @@ async def get_message(self, message_id: str) -> Message: https://dev.max.ru/docs-api/methods/GET/messages/-messageId- Args: - message_id (str): ID сообщения. + message_id: ID сообщения. Returns: Message: Объект сообщения. @@ -582,7 +582,7 @@ async def get_pin_message(self, chat_id: int) -> GettedPin: https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin Args: - chat_id (int): ID чата. + chat_id: ID чата. Returns: GettedPin: Закрепленное сообщение. @@ -608,14 +608,14 @@ async def change_info( https://dev.max.ru/docs-api/methods/PATCH/me Args: - first_name (Optional[str]): Новое имя бота (1–64 символа). - last_name (str, optional): Второе имя бота (1–64 символа). - description (Optional[str]): Новое описание бота + first_name: Новое имя бота (1–64 символа). + last_name: Второе имя бота (1–64 символа). + description: Новое описание бота (1–16000 символов). - commands (Optional[List[BotCommand]]): Список команд бота + commands: Список команд бота (до 32 элементов). Передайте пустой список, чтобы удалить все команды. - photo (Optional[PhotoAttachmentRequestPayload]): Новое + photo: Новое фото бота. Returns: @@ -648,8 +648,8 @@ async def get_chats( https://dev.max.ru/docs-api/methods/GET/chats Args: - count (Optional[int]): Количество чатов (по умолчанию 50) (1-100). - marker (Optional[int]): Маркер для пагинации. + count: Количество чатов (по умолчанию 50) (1-100). + marker: Маркер для пагинации. Returns: Chats: Список чатов. @@ -664,7 +664,7 @@ async def get_chat_by_link(self, link: str) -> Chat: https://dev.max.ru/docs-api/methods/GET/chats/-chatLink- Args: - link (str): Ссылка на чат. + link: Ссылка на чат. Returns: Chat: Объект чата. @@ -679,7 +679,7 @@ async def get_chat_by_id(self, id: int) -> Chat: https://dev.max.ru/docs-api/methods/GET/chats/-chatId- Args: - id (int): ID чата. + id: ID чата. Returns: Chat: Объект чата. @@ -702,11 +702,11 @@ async def edit_chat( https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId- Args: - chat_id (int): ID чата. - icon (Optional[PhotoAttachmentRequestPayload]): Иконка. - title (Optional[str]): Новый заголовок (1-200 символов). - pin (Optional[str]): ID сообщения для закрепления. - notify (Optional[bool]): Флаг уведомления. + chat_id: ID чата. + icon: Иконка. + title: Новый заголовок (1-200 символов). + pin: ID сообщения для закрепления. + notify: Флаг уведомления. Returns: Chat: Обновленный объект чата. @@ -728,7 +728,7 @@ async def get_video(self, video_token: str) -> Video: https://dev.max.ru/docs-api/methods/GET/videos/-videoToken- Args: - video_token (str): Токен видео. + video_token: Токен видео. Returns: Video: Объект видео. @@ -748,9 +748,9 @@ async def send_callback( https://dev.max.ru/docs-api/methods/POST/answers Args: - callback_id (str): ID callback. - message (Optional[MessageForCallback]): Сообщение для отправки. - notification (Optional[str]): Текст уведомления. + callback_id: ID callback. + message: Сообщение для отправки. + notification: Текст уведомления. Returns: SendedCallback: Результат отправки callback. @@ -772,9 +772,9 @@ async def pin_message( https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin Args: - chat_id (int): ID чата. - message_id (str): ID сообщения. - notify (Optional[bool]): Флаг уведомления. + chat_id: ID чата. + message_id: ID сообщения. + notify: Флаг уведомления. Returns: PinnedMessage: Закрепленное сообщение. @@ -797,7 +797,7 @@ async def delete_pin_message( https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin Args: - chat_id (int): ID чата. + chat_id: ID чата. Returns: DeletedPinMessage: Результат удаления. @@ -818,7 +818,7 @@ async def get_me_from_chat( https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me Args: - chat_id (int): ID чата. + chat_id: ID чата. Returns: ChatMember: Информация о боте в чате. @@ -839,7 +839,7 @@ async def delete_me_from_chat( https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me Args: - chat_id (int): ID чата. + chat_id: ID чата. Returns: DeletedBotFromChat: Результат удаления. @@ -861,8 +861,8 @@ async def get_list_admin_chat( https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins Args: - chat_id (int): ID чата. - marker (Optional[int]): Маркер для пагинации. + chat_id: ID чата. + marker: Маркер для пагинации. Returns: GettedListAdminChat: Список администраторов. @@ -886,9 +886,9 @@ async def add_list_admin_chat( https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins Args: - chat_id (int): ID чата. - admins (List[ChatAdmin]): Список администраторов. - marker (Optional[int]): Маркер для пагинации. + chat_id: ID чата. + admins: Список администраторов. + marker: Маркер для пагинации. Returns: AddedListAdminChat: Результат добавления. @@ -908,8 +908,8 @@ async def remove_admin(self, chat_id: int, user_id: int) -> RemovedAdmin: https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId- Args: - chat_id (int): ID чата. - user_id (int): ID пользователя. + chat_id: ID чата. + user_id: ID пользователя. Returns: RemovedAdmin: Результат удаления. @@ -934,10 +934,10 @@ async def get_chat_members( https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members Args: - chat_id (int): ID чата. - user_ids (Optional[List[int]]): Список ID участников. - marker (Optional[int]): Маркер для пагинации. - count (Optional[int]): Количество участников + chat_id: ID чата. + user_ids: Список ID участников. + marker: Маркер для пагинации. + count: Количество участников (по умолчанию 20) (1-100). Returns: @@ -963,8 +963,8 @@ async def get_chat_member( https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members Args: - chat_id (int): ID чата. - user_id (int): ID участника. + chat_id: ID чата. + user_id: ID участника. Returns: Optional[ChatMember]: Участник. @@ -990,8 +990,8 @@ async def add_chat_members( https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members Args: - chat_id (int): ID чата. - user_ids (List[int]): Список ID пользователей. + chat_id: ID чата. + user_ids: Список ID пользователей. Returns: AddedMembersChat: Результат добавления. @@ -1016,9 +1016,9 @@ async def kick_chat_member( https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members Args: - chat_id (int): ID чата. - user_id (int): ID пользователя. - block (bool): Блокировать пользователя (по умолчанию False). + chat_id: ID чата. + user_id: ID пользователя. + block: Блокировать пользователя (по умолчанию False). Returns: RemovedMemberChat: Результат исключения. @@ -1058,7 +1058,7 @@ async def get_upload_url(self, type: UploadType) -> GettedUploadUrl: https://dev.max.ru/docs-api/methods/POST/uploads Args: - type (UploadType): Тип загружаемого файла. + type: Тип загружаемого файла. Returns: GettedUploadUrl: URL для загрузки. @@ -1076,7 +1076,7 @@ async def upload_media( `attachments` без ручного вызова низкоуровневых upload-методов. Args: - media (InputMedia | InputMediaBuffer): Медиафайл для загрузки. + media: Медиафайл для загрузки. Returns: AttachmentUpload: Вложение типа upload с payload.token. @@ -1123,7 +1123,7 @@ async def set_my_commands(self, *commands: BotCommand) -> User: Устанавливает список команд бота. Args: - *commands (BotCommand): Список команд. + *commands: Список команд. Returns: User: Обновленная информация о боте. @@ -1163,9 +1163,9 @@ async def subscribe_webhook( https://dev.max.ru/docs-api/methods/POST/subscriptions Args: - url (str): URL HTTP(S)-эндпойнта вашего бота. - update_types (Optional[List[UpdateType]]): Список типов обновлений. - secret (Optional[str]): Секрет для Webhook (5-256 симолов). + url: URL HTTP(S)-эндпойнта вашего бота. + update_types: Список типов обновлений. + secret: Секрет для Webhook (5-256 симолов). Returns: Subscribed: Результат подписки. @@ -1185,7 +1185,7 @@ async def unsubscribe_webhook( https://dev.max.ru/docs-api/methods/DELETE/subscriptions Args: - url (str): URL HTTP(S)-эндпойнта вашего бота. + url: URL HTTP(S)-эндпойнта вашего бота. Returns: Unsubscribed: Результат отписки. diff --git a/maxapi/client/default.py b/maxapi/client/default.py index f4529b5..f5bb377 100644 --- a/maxapi/client/default.py +++ b/maxapi/client/default.py @@ -11,28 +11,28 @@ class DefaultConnectionProperties: aiohttp-клиента. Args: - timeout (float): Таймаут всего соединения в секундах + timeout: Таймаут всего соединения в секундах (по умолчанию 5 * 30). - sock_connect (int): Таймаут установки TCP-соединения в секундах + sock_connect: Таймаут установки TCP-соединения в секундах (по умолчанию 30). - max_retries (int): Максимальное количество повторных попыток + max_retries: Максимальное количество повторных попыток при серверных ошибках (по умолчанию 3). - retry_on_statuses (tuple[int, ...]): HTTP-статусы, при которых + retry_on_statuses: HTTP-статусы, при которых выполняется повторная попытка (по умолчанию 502, 503, 504). - retry_backoff_factor (float): Множитель для экспоненциальной + retry_backoff_factor: Множитель для экспоненциальной задержки между попытками в секундах (по умолчанию 1.0, задержки: 1с, 2с, 4с). - **kwargs (Any): Дополнительные параметры, которые будут + **kwargs: Дополнительные параметры, которые будут сохранены как есть. Attributes: - timeout (ClientTimeout): Экземпляр aiohttp.ClientTimeout + timeout: Экземпляр aiohttp.ClientTimeout с заданными параметрами. - max_retries (int): Максимальное количество повторных попыток. - retry_on_statuses (tuple[int, ...]): HTTP-статусы для retry. - retry_backoff_factor (float): Множитель задержки. - kwargs (dict): Дополнительные параметры. + max_retries: Максимальное количество повторных попыток. + retry_on_statuses: HTTP-статусы для retry. + retry_backoff_factor: Множитель задержки. + kwargs: Дополнительные параметры. """ def __init__( @@ -49,15 +49,15 @@ def __init__( Инициализация параметров соединения. Args: - timeout (float): Таймаут всего соединения в секундах. - sock_connect (int): Таймаут установки TCP-соединения + timeout: Таймаут всего соединения в секундах. + sock_connect: Таймаут установки TCP-соединения в секундах. - max_retries (int): Максимальное количество повторных + max_retries: Максимальное количество повторных попыток при серверных ошибках. - retry_on_statuses (tuple[int, ...]): HTTP-статусы + retry_on_statuses: HTTP-статусы для retry. - retry_backoff_factor (float): Множитель задержки. - **kwargs (Any): Дополнительные параметры. + retry_backoff_factor: Множитель задержки. + **kwargs: Дополнительные параметры. """ self.timeout = ClientTimeout(total=timeout, sock_connect=sock_connect) if max_retries < 0: diff --git a/maxapi/connection/base.py b/maxapi/connection/base.py index 7324f58..e040ca7 100644 --- a/maxapi/connection/base.py +++ b/maxapi/connection/base.py @@ -83,9 +83,9 @@ def __init__(self) -> None: Инициализация BaseConnection. Атрибуты: - bot (Optional[Bot]): Экземпляр бота. - session (Optional[ClientSession]): aiohttp-сессия. - after_input_media_delay (float): Задержка после ввода медиа. + bot: Экземпляр бота. + session: aiohttp-сессия. + after_input_media_delay: Задержка после ввода медиа. """ self.bot: Bot | None = None @@ -98,7 +98,7 @@ def set_api_url(self, url: str) -> None: Установка API URL для запросов Args: - url (str): Новый API URl + url: Новый API URl """ self.api_url = url @@ -121,11 +121,11 @@ async def request( ``max_retries`` раз с экспоненциальной задержкой. Args: - method (HTTPMethod): HTTP-метод (GET, POST и т.д.). - path (ApiPath | str): Путь до конечной точки. - model (BaseModel | Any, optional): Pydantic-модель для + method: HTTP-метод (GET, POST и т.д.). + path: Путь до конечной точки. + model: Pydantic-модель для десериализации ответа, если is_return_raw=False. - is_return_raw (bool, optional): Если True — вернуть сырой + is_return_raw: Если True — вернуть сырой ответ, иначе — результат десериализации. **kwargs: Дополнительные параметры (query, headers, json). @@ -208,9 +208,9 @@ async def upload_file(self, url: str, path: str, type: UploadType) -> str: Загружает файл на сервер. Args: - url (str): URL загрузки. - path (str): Путь к файлу. - type (UploadType): Тип файла. + url: URL загрузки. + path: Путь к файлу. + type: Тип файла. Returns: str: Сырой .text() ответ от сервера. @@ -250,10 +250,10 @@ async def upload_file_buffer( Загружает файл из буфера. Args: - filename (str): Имя файла. - url (str): URL загрузки. - buffer (bytes): Буфер данных. - type (UploadType): Тип файла. + filename: Имя файла. + url: URL загрузки. + buffer: Буфер данных. + type: Тип файла. Returns: str: Сырой .text() ответ от сервера. diff --git a/maxapi/dispatcher.py b/maxapi/dispatcher.py index bc01e38..46aa768 100644 --- a/maxapi/dispatcher.py +++ b/maxapi/dispatcher.py @@ -60,12 +60,12 @@ def __init__( Инициализация диспетчера. Args: - router_id (str | None): Идентификатор роутера для логов. - use_create_task (bool): Флаг, отвечающий за параллелизацию + router_id: Идентификатор роутера для логов. + use_create_task: Флаг, отвечающий за параллелизацию обработок событий. - storage (type[BaseContext]): Класс контекста для хранения + storage: Класс контекста для хранения данных (MemoryContext, RedisContext и т.д.). - **storage_kwargs (Any): Дополнительные аргументы для + **storage_kwargs: Дополнительные аргументы для инициализации хранилища. """ @@ -181,8 +181,8 @@ def build_middleware_chain( Формирует цепочку вызова middleware вокруг хендлера. Args: - middlewares (List[BaseMiddleware]): Список middleware. - handler (Callable): Финальный обработчик. + middlewares: Список middleware. + handler: Финальный обработчик. Returns: Callable: Обёрнутый обработчик. @@ -198,7 +198,7 @@ def include_routers(self, *routers: Router) -> None: Добавляет указанные роутеры в диспетчер. Args: - *routers (Router): Роутеры для добавления. + *routers: Роутеры для добавления. """ self.routers.extend(routers) @@ -208,7 +208,7 @@ def outer_middleware(self, middleware: BaseMiddleware) -> None: Добавляет Middleware на первое место в списке. Args: - middleware (BaseMiddleware): Middleware. + middleware: Middleware. """ self.middlewares.insert(0, middleware) @@ -218,7 +218,7 @@ def middleware(self, middleware: BaseMiddleware) -> None: Добавляет Middleware в конец списка. Args: - middleware (BaseMiddleware): Middleware. + middleware: Middleware. """ self.middlewares.append(middleware) @@ -228,7 +228,7 @@ def filter(self, base_filter: BaseFilter) -> None: Добавляет фильтр в список. Args: - base_filter (BaseFilter): Фильтр. + base_filter: Фильтр. """ self.base_filters.append(base_filter) @@ -239,7 +239,7 @@ async def __ready(self, bot: Bot) -> None: обработчики, вызывает on_started. Args: - bot (Bot): Экземпляр бота. + bot: Экземпляр бота. """ if self._ready: @@ -323,8 +323,8 @@ def __get_context( по chat_id и user_id. Args: - chat_id (Optional[int]): Идентификатор чата. - user_id (Optional[int]): Идентификатор пользователя. + chat_id: Идентификатор чата. + user_id: Идентификатор пользователя. Returns: BaseContext: Контекст. @@ -382,8 +382,8 @@ async def process_base_filters( Асинхронно применяет фильтры к событию. Args: - event (UpdateUnion): Событие. - filters (List[BaseFilter]): Список фильтров. + event: Событие. + filters: Список фильтров. Returns: dict[str, Any] | None: Словарь с результатом или None, @@ -559,7 +559,7 @@ async def _check_router_filters( Проверяет накопленные фильтры роутера для события. Args: - event (UpdateUnion): Событие. + event: Событие. filters: Накопленные MagicFilter. base_filters: Накопленные BaseFilter. @@ -585,8 +585,8 @@ def _find_matching_handlers( Находит обработчики, соответствующие типу события в роутере. Args: - router (Router | Dispatcher): Роутер для поиска. - event_type (UpdateType): Тип события. + router: Роутер для поиска. + event_type: Тип события. Returns: List[Handler]: Список подходящих обработчиков. @@ -611,9 +611,9 @@ async def _check_handler_match( Проверяет, подходит ли обработчик для события (фильтры, состояние). Args: - handler (Handler): Обработчик для проверки. - event (UpdateUnion): Событие. - current_state (Optional[Any]): Текущее состояние. + handler: Обработчик для проверки. + event: Событие. + current_state: Текущее состояние. Returns: dict[str, Any] | None: Словарь с данными или None, @@ -644,15 +644,15 @@ async def _execute_handler( и обработкой ошибок. Args: - handler (Handler): Обработчик для выполнения. - event (UpdateUnion): Событие. - data (Dict[str, Any]): Данные для обработчика. - handler_middlewares (List[BaseMiddleware]): Middleware для + handler: Обработчик для выполнения. + event: Событие. + data: Данные для обработчика. + handler_middlewares: Middleware для обработчика. - memory_context (BaseContext): Контекст памяти. - current_state (Optional[Any]): Текущее состояние. - router_id (Any): Идентификатор роутера для логов. - process_info (str): Информация о процессе для логов. + memory_context: Контекст памяти. + current_state: Текущее состояние. + router_id: Идентификатор роутера для логов. + process_info: Информация о процессе для логов. Raises: HandlerException: При ошибке выполнения обработчика. @@ -767,8 +767,8 @@ async def _invoke_router_handlers( Endpoint middleware-цепочки роутера: вызывает подходящий обработчик. Args: - event (UpdateUnion): Событие. - handler_data (dict): Данные для обработчика. + event: Событие. + handler_data: Данные для обработчика. matching_handlers: Обработчики роутера для данного типа события. memory_context: Контекст памяти. current_state: Текущее состояние. @@ -915,8 +915,8 @@ async def _process_event( по роутерам. Args: - event_object (UpdateUnion): Событие. - data (dict): Данные от middleware-цепочки, + event_object: Событие. + data: Данные от middleware-цепочки, содержащие ``_memory_context``, ``_current_state`` и ``_process_info``. """ @@ -939,7 +939,7 @@ async def handle(self, event_object: UpdateUnion) -> None: и вызывает нужный handler. Args: - event_object (UpdateUnion): Событие. + event_object: Событие. """ router_id = None process_info = "нет данных" @@ -1095,8 +1095,8 @@ async def start_polling( Запускает цикл получения обновлений (long polling). Args: - bot (Bot): Экземпляр бота. - skip_updates (bool): Флаг, отвечающий за обработку старых событий. + bot: Экземпляр бота. + skip_updates: Флаг, отвечающий за обработку старых событий. """ self.polling = True @@ -1144,7 +1144,7 @@ async def startup(self, bot: Bot) -> None: веб-фреймворка. Args: - bot (Bot): Экземпляр бота. + bot: Экземпляр бота. """ await self.__ready(bot) @@ -1171,14 +1171,14 @@ async def handle_webhook( :class:`~maxapi.webhook.aiohttp.BaseMaxWebhook`. Args: - bot (Bot): Экземпляр бота. - host (str): Хост сервера (по умолчанию ``"0.0.0.0"``). - port (int): Порт сервера (по умолчанию ``8080``). - path (str): URL-путь для маршрута вебхука. - secret (str | None): Секрет для проверки заголовка + bot: Экземпляр бота. + host: Хост сервера (по умолчанию ``"0.0.0.0"``). + port: Порт сервера (по умолчанию ``8080``). + path: URL-путь для маршрута вебхука. + secret: Секрет для проверки заголовка ``X-Max-Bot-Api-Secret``. Должен совпадать со значением, переданным в :meth:`~maxapi.Bot.subscribe_webhook`. - webhook_type (type[BaseMaxWebhook]): Класс вебхука. + webhook_type: Класс вебхука. **kwargs: Дополнительные аргументы для ``aiohttp.web.AppRunner``. """ webhook = webhook_type(dp=self, bot=bot, secret=secret) @@ -1197,9 +1197,9 @@ async def init_serve( # pragma: no cover Метод будет удалён в одной из следующих версий. Args: - bot (Bot): Экземпляр бота. - host (str): Хост. - port (int): Порт. + bot: Экземпляр бота. + host: Хост. + port: Порт. """ warn( "init_serve устарел и будет удалён в следующих версиях. " @@ -1220,7 +1220,7 @@ def __init__(self, router_id: str | None = None): Инициализация роутера. Args: - router_id (str | None): Идентификатор роутера для логов. + router_id: Идентификатор роутера для логов. """ super().__init__(router_id) @@ -1242,9 +1242,9 @@ def __init__( Инициализирует событие-декоратор. Args: - update_type (UpdateType): Тип события. - router (Dispatcher | Router): Экземпляр роутера или диспетчера. - deprecated (bool): Флаг, указывающий на то, что событие устарело. + update_type: Тип события. + router: Экземпляр роутера или диспетчера. + deprecated: Флаг, указывающий на то, что событие устарело. """ self.update_type = update_type @@ -1258,7 +1258,7 @@ def register( Регистрирует функцию как обработчик события. Args: - func_event (Callable): Функция-обработчик + func_event: Функция-обработчик *args: Фильтры **kwargs: Дополнительные параметры (например, states) diff --git a/maxapi/filters/__init__.py b/maxapi/filters/__init__.py index 6f8b400..c216dad 100644 --- a/maxapi/filters/__init__.py +++ b/maxapi/filters/__init__.py @@ -21,9 +21,9 @@ def filter_attrs(obj: object, *filters: MagicFilter) -> bool: Применяет один или несколько фильтров MagicFilter к объекту. Args: - obj (object): Объект, к которому применяются фильтры (например, + obj: Объект, к которому применяются фильтры (например, event или message). - *filters (MagicFilter): Один или несколько выражений MagicFilter. + *filters: Один или несколько выражений MagicFilter. Returns: bool: True, если все фильтры возвращают True, иначе False. diff --git a/maxapi/filters/callback_payload.py b/maxapi/filters/callback_payload.py index 1fb1fd0..08f9c2c 100644 --- a/maxapi/filters/callback_payload.py +++ b/maxapi/filters/callback_payload.py @@ -24,9 +24,9 @@ class CallbackPayload(BaseModel): Базовый класс для сериализации/десериализации callback payload. Атрибуты: - prefix (str): Префикс для payload (используется при pack/unpack) + prefix: Префикс для payload (используется при pack/unpack) (по умолчанию название класса). - separator (str): Разделитель между значениями (по умолчанию '|'). + separator: Разделитель между значениями (по умолчанию '|'). """ if TYPE_CHECKING: @@ -82,7 +82,7 @@ def unpack(cls, data: str) -> CallbackPayload: Десериализует payload из строки. Args: - data (str): Строка payload (из callback payload). + data: Строка payload (из callback payload). Raises: ValueError: Некорректный prefix или количество аргументов. @@ -130,7 +130,7 @@ def filter(cls, rule: MagicFilter | None = None) -> PayloadFilter: Создаёт PayloadFilter для фильтрации callback-ивентов по payload. Args: - rule (Optional[MagicFilter]): Фильтр на payload. + rule: Фильтр на payload. Returns: PayloadFilter: Экземпляр фильтра для хэндлера. @@ -147,8 +147,8 @@ class PayloadFilter(BaseFilter): def __init__(self, model: type[CallbackPayload], rule: MagicFilter | None): """ Args: - model (Type[CallbackPayload]): Класс payload для распаковки. - rule (Optional[MagicFilter]): Фильтр (условие) для payload. + model: Класс payload для распаковки. + rule: Фильтр (условие) для payload. """ self.model = model @@ -159,7 +159,7 @@ async def __call__(self, event: UpdateUnion) -> dict[str, Any] | bool: Проверяет event на MessageCallback и применяет фильтр к payload. Args: - event (UpdateUnion): Обновление/событие. + event: Обновление/событие. Returns: dict | bool: dict с payload при совпадении, иначе False. diff --git a/maxapi/filters/command.py b/maxapi/filters/command.py index cd912e3..69bdb2c 100644 --- a/maxapi/filters/command.py +++ b/maxapi/filters/command.py @@ -11,8 +11,8 @@ class CommandsInfo: Датакласс информации о командах Attributes: - commands (List[str]): Список команд - info (Optional[str]): Информация о их предназначениях + commands: Список команд + info: Информация о их предназначениях """ commands: list[str] @@ -24,14 +24,14 @@ class Command(BaseFilter): Фильтр сообщений на соответствие команде. Args: - commands (str | List[str]): Ожидаемая команда или список команд + commands: Ожидаемая команда или список команд без префикса. - prefix (str, optional): Префикс команды (по умолчанию '/'). - check_case (bool, optional): Учитывать регистр при сравнении + prefix: Префикс команды (по умолчанию '/'). + check_case: Учитывать регистр при сравнении (по умолчанию False). - ignore_symbol_at_sign (bool, optional): Учитывать символ "@" при + ignore_symbol_at_sign: Учитывать символ "@" при отправке команды с упоминанием бота (по умолчанию False). - only_with_bot_username (bool, optional): Обязательно упоминать + only_with_bot_username: Обязательно упоминать бота при отправке команды (по умолчанию False). """ @@ -68,8 +68,8 @@ def parse_command( Извлекает команду из текста. Args: - text (str): Текст сообщения. - bot_username (str): Имя пользователя бота. + text: Текст сообщения. + bot_username: Имя пользователя бота. Returns: Tuple[str, List[str]]: Кортеж из команды без префикса и @@ -126,7 +126,7 @@ async def __call__( Проверяет, соответствует ли сообщение заданной(ым) команде(ам). Args: - event (MessageCreated): Событие сообщения. + event: Событие сообщения. Returns: dict | bool: dict с аргументами команды при совпадении, @@ -171,12 +171,12 @@ class CommandStart(Command): Фильтр для команды /start. Args: - prefix (str, optional): Префикс команды (по умолчанию '/'). - check_case (bool, optional): Учитывать регистр + prefix: Префикс команды (по умолчанию '/'). + check_case: Учитывать регистр (по умолчанию False) - ignore_symbol_at_sign (bool, optional): Учитывать символ "@" при + ignore_symbol_at_sign: Учитывать символ "@" при отправке команды с упоминанием бота (по умолчанию False). - only_with_bot_username (bool, optional): Обязательно упоминать + only_with_bot_username: Обязательно упоминать бота при отправке команды (по умолчанию False).. """ diff --git a/maxapi/filters/handler.py b/maxapi/filters/handler.py index 8e00648..7045a64 100644 --- a/maxapi/filters/handler.py +++ b/maxapi/filters/handler.py @@ -28,11 +28,11 @@ def __init__( Создаёт обработчик события. Args: - *args (Any): Список фильтров (MagicFilter, State, Command, + *args: Список фильтров (MagicFilter, State, Command, BaseFilter, BaseMiddleware). - func_event (Callable): Функция-обработчик. - update_type (UpdateType): Тип обновления. - **kwargs (Any): Дополнительные параметры. + func_event: Функция-обработчик. + update_type: Тип обновления. + **kwargs: Дополнительные параметры. """ self.func_event: Callable = func_event diff --git a/maxapi/filters/middleware.py b/maxapi/filters/middleware.py index c0a5d15..18d1ba5 100644 --- a/maxapi/filters/middleware.py +++ b/maxapi/filters/middleware.py @@ -19,9 +19,9 @@ async def __call__( Вызывает хендлер с переданным событием и данными. Args: - handler (Callable): Хендлер события. - event_object (Any): Событие. - data (dict): Дополнительные данные. + handler: Хендлер события. + event_object: Событие. + data: Дополнительные данные. Returns: Any: Результат работы хендлера. diff --git a/maxapi/methods/add_admin_chat.py b/maxapi/methods/add_admin_chat.py index 09b804b..7635f84 100644 --- a/maxapi/methods/add_admin_chat.py +++ b/maxapi/methods/add_admin_chat.py @@ -17,10 +17,10 @@ class AddAdminChat(BaseConnection): https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins Attributes: - bot (Bot): Экземпляр бота, через который выполняется запрос. - chat_id (int): Идентификатор чата. - admins (List[ChatAdmin]): Список администраторов для добавления. - marker (int, optional): Маркер для пагинации или дополнительных + bot: Экземпляр бота, через который выполняется запрос. + chat_id: Идентификатор чата. + admins: Список администраторов для добавления. + marker: Маркер для пагинации или дополнительных настроек. По умолчанию None. """ diff --git a/maxapi/methods/add_members_chat.py b/maxapi/methods/add_members_chat.py index 0ea3d06..ad658c0 100644 --- a/maxapi/methods/add_members_chat.py +++ b/maxapi/methods/add_members_chat.py @@ -16,9 +16,9 @@ class AddMembersChat(BaseConnection): https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members Attributes: - bot (Bot): Экземпляр бота, через который выполняется запрос. - chat_id (int): Идентификатор целевого чата. - user_ids (List[int]): Список ID пользователей для добавления в чат. + bot: Экземпляр бота, через который выполняется запрос. + chat_id: Идентификатор целевого чата. + user_ids: Список ID пользователей для добавления в чат. """ def __init__( diff --git a/maxapi/methods/change_info.py b/maxapi/methods/change_info.py index e37e5e7..2136053 100644 --- a/maxapi/methods/change_info.py +++ b/maxapi/methods/change_info.py @@ -23,12 +23,12 @@ class ChangeInfo(BaseConnection): https://dev.max.ru/docs-api/methods/PATCH/me Args: - first_name (str, optional): Имя бота (1–64 символа). - last_name (str, optional): Второе имя бота (1–64 символа). - description (str, optional): Описание бота (1–16000 символов). - commands (list[BotCommand], optional): Список команд + first_name: Имя бота (1–64 символа). + last_name: Второе имя бота (1–64 символа). + description: Описание бота (1–16000 символов). + commands: Список команд (до 32 элементов). - photo (PhotoAttachmentRequestPayload, optional): Фото бота. + photo: Фото бота. Note: Метод :meth:`fetch` возвращает объект :class:`User` diff --git a/maxapi/methods/delete_bot_from_chat.py b/maxapi/methods/delete_bot_from_chat.py index fb98faa..d02f81f 100644 --- a/maxapi/methods/delete_bot_from_chat.py +++ b/maxapi/methods/delete_bot_from_chat.py @@ -16,8 +16,8 @@ class DeleteMeFromMessage(BaseConnection): https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (int): Идентификатор чата, из которого нужно удалить бота. + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата, из которого нужно удалить бота. """ def __init__( diff --git a/maxapi/methods/delete_chat.py b/maxapi/methods/delete_chat.py index 2802705..9fda05f 100644 --- a/maxapi/methods/delete_chat.py +++ b/maxapi/methods/delete_chat.py @@ -16,8 +16,8 @@ class DeleteChat(BaseConnection): https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId- Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (int): Идентификатор чата, который необходимо удалить. + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата, который необходимо удалить. """ def __init__(self, bot: "Bot", chat_id: int): diff --git a/maxapi/methods/delete_message.py b/maxapi/methods/delete_message.py index 5e0cf74..8eee461 100644 --- a/maxapi/methods/delete_message.py +++ b/maxapi/methods/delete_message.py @@ -16,8 +16,8 @@ class DeleteMessage(BaseConnection): https://dev.max.ru/docs-api/methods/DELETE/messages Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - message_id (str): Идентификатор сообщения, которое нужно удалить. + bot: Экземпляр бота для выполнения запроса. + message_id: Идентификатор сообщения, которое нужно удалить. """ def __init__( diff --git a/maxapi/methods/delete_pin_message.py b/maxapi/methods/delete_pin_message.py index 20c1fe7..9dcbc11 100644 --- a/maxapi/methods/delete_pin_message.py +++ b/maxapi/methods/delete_pin_message.py @@ -16,8 +16,8 @@ class DeletePinMessage(BaseConnection): https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (int): Идентификатор чата, из которого нужно удалить + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата, из которого нужно удалить закреплённое сообщение. """ diff --git a/maxapi/methods/edit_chat.py b/maxapi/methods/edit_chat.py index bf982f2..9a7b99e 100644 --- a/maxapi/methods/edit_chat.py +++ b/maxapi/methods/edit_chat.py @@ -23,13 +23,13 @@ class EditChat(BaseConnection): https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId- Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (int): Идентификатор чата для редактирования. - icon (PhotoAttachmentRequestPayload, optional): Новый значок + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата для редактирования. + icon: Новый значок (иконка) чата. - title (str, optional): Новое название чата. - pin (str, optional): Идентификатор закреплённого сообщения. - notify (bool, optional): Включение или отключение уведомлений + title: Новое название чата. + pin: Идентификатор закреплённого сообщения. + notify: Включение или отключение уведомлений (по умолчанию True). """ diff --git a/maxapi/methods/edit_message.py b/maxapi/methods/edit_message.py index de2d938..d7ddaaa 100644 --- a/maxapi/methods/edit_message.py +++ b/maxapi/methods/edit_message.py @@ -30,18 +30,18 @@ class EditMessage(BaseConnection): https://dev.max.ru/docs-api/methods/PUT/messages Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - message_id (str): Идентификатор сообщения для редактирования. - text (Optional[str]): Новый текст сообщения. - attachments (List[Attachment | InputMedia | InputMediaBuffer] | None): + bot: Экземпляр бота для выполнения запроса. + message_id: Идентификатор сообщения для редактирования. + text: Новый текст сообщения. + attachments: Список вложений для сообщения. - link (Optional[NewMessageLink]): Связь с другим сообщением + link: Связь с другим сообщением (например, ответ или пересылка). - notify (Optional[bool]): Отправлять ли уведомление о сообщении. + notify: Отправлять ли уведомление о сообщении. По умолчанию True. - format (Optional[TextFormat]): Формат разметки текста + format: Формат разметки текста (например, Markdown, HTML). - parse_mode (Optional[ParseMode]): Устаревший формат разметки текста + parse_mode: Устаревший формат разметки текста (например, Markdown, HTML). """ diff --git a/maxapi/methods/get_chat_by_id.py b/maxapi/methods/get_chat_by_id.py index 631b4e8..6a803d2 100644 --- a/maxapi/methods/get_chat_by_id.py +++ b/maxapi/methods/get_chat_by_id.py @@ -16,8 +16,8 @@ class GetChatById(BaseConnection): https://dev.max.ru/docs-api/methods/GET/chats/-chatId- Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - id (int): Идентификатор чата. + bot: Экземпляр бота для выполнения запроса. + id: Идентификатор чата. """ def __init__(self, bot: "Bot", id: int): diff --git a/maxapi/methods/get_chat_by_link.py b/maxapi/methods/get_chat_by_link.py index 0f4aa32..3c97da4 100644 --- a/maxapi/methods/get_chat_by_link.py +++ b/maxapi/methods/get_chat_by_link.py @@ -17,11 +17,11 @@ class GetChatByLink(BaseConnection): https://dev.max.ru/docs-api/methods/GET/chats/-chatLink- Attributes: - link (list[str]): Список валидных частей ссылки. - PATTERN_LINK (str): Регулярное выражение для парсинга ссылки. + link: Список валидных частей ссылки. + PATTERN_LINK: Регулярное выражение для парсинга ссылки. """ - PATTERN_LINK = r"@?[a-zA-Z]+[a-zA-Z0-9-_]*" + PATTERN_LINK: str = r"@?[a-zA-Z]+[a-zA-Z0-9-_]*" def __init__(self, bot: "Bot", link: str): super().__init__() diff --git a/maxapi/methods/get_chats.py b/maxapi/methods/get_chats.py index 92b13e0..1ba27ef 100644 --- a/maxapi/methods/get_chats.py +++ b/maxapi/methods/get_chats.py @@ -16,10 +16,10 @@ class GetChats(BaseConnection): https://dev.max.ru/docs-api/methods/GET/chats Attributes: - bot (Bot): Инициализированный клиент бота. - count (Optional[int]): Максимальное количество чатов, + bot: Инициализированный клиент бота. + count: Максимальное количество чатов, возвращаемых за один запрос. - marker (Optional[int]): Маркер для продолжения пагинации. + marker: Маркер для продолжения пагинации. """ def __init__( diff --git a/maxapi/methods/get_list_admin_chat.py b/maxapi/methods/get_list_admin_chat.py index d695ad2..50f6a0c 100644 --- a/maxapi/methods/get_list_admin_chat.py +++ b/maxapi/methods/get_list_admin_chat.py @@ -16,9 +16,9 @@ class GetListAdminChat(BaseConnection): https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins Attributes: - bot (Bot): Экземпляр бота. - chat_id (int): Идентификатор чата. - marker (Optional[int]): Маркер для пагинации. По умолчанию None. + bot: Экземпляр бота. + chat_id: Идентификатор чата. + marker: Маркер для пагинации. По умолчанию None. """ def __init__( diff --git a/maxapi/methods/get_me.py b/maxapi/methods/get_me.py index 4b2aa18..e041150 100644 --- a/maxapi/methods/get_me.py +++ b/maxapi/methods/get_me.py @@ -18,7 +18,7 @@ class GetMe(BaseConnection): https://dev.max.ru/docs-api/methods/GET/me Args: - bot (Bot): Экземпляр бота для выполнения запроса. + bot: Экземпляр бота для выполнения запроса. """ def __init__(self, bot: "Bot"): diff --git a/maxapi/methods/get_me_from_chat.py b/maxapi/methods/get_me_from_chat.py index 835637d..239885e 100644 --- a/maxapi/methods/get_me_from_chat.py +++ b/maxapi/methods/get_me_from_chat.py @@ -16,8 +16,8 @@ class GetMeFromChat(BaseConnection): https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me Attributes: - bot (Bot): Экземпляр бота. - chat_id (int): Идентификатор чата. + bot: Экземпляр бота. + chat_id: Идентификатор чата. """ def __init__(self, bot: "Bot", chat_id: int): diff --git a/maxapi/methods/get_members_chat.py b/maxapi/methods/get_members_chat.py index d6651d0..2e1b0b2 100644 --- a/maxapi/methods/get_members_chat.py +++ b/maxapi/methods/get_members_chat.py @@ -16,13 +16,13 @@ class GetMembersChat(BaseConnection): https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (int): Идентификатор чата. - user_ids (Optional[List[str]]): Список ID пользователей для + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата. + user_ids: Список ID пользователей для фильтрации. По умолчанию None. - marker (Optional[int]): Маркер для пагинации + marker: Маркер для пагинации (начальная позиция). По умолчанию None. - count (Optional[int]): Максимальное количество участников + count: Максимальное количество участников для получения. По умолчанию None. """ diff --git a/maxapi/methods/get_message.py b/maxapi/methods/get_message.py index 5d40cea..577ae67 100644 --- a/maxapi/methods/get_message.py +++ b/maxapi/methods/get_message.py @@ -16,8 +16,8 @@ class GetMessage(BaseConnection): https://dev.max.ru/docs-api/methods/GET/messages/-messageId- Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - message_id (Optional[str]): ID сообщения (mid), чтобы получить + bot: Экземпляр бота для выполнения запроса. + message_id: ID сообщения (mid), чтобы получить одно сообщение в чате. """ diff --git a/maxapi/methods/get_messages.py b/maxapi/methods/get_messages.py index 65ed67d..6b700a3 100644 --- a/maxapi/methods/get_messages.py +++ b/maxapi/methods/get_messages.py @@ -18,12 +18,12 @@ class GetMessages(BaseConnection): https://dev.max.ru/docs-api/methods/GET/messages Attributes: - bot (Bot): Экземпляр бота. - chat_id (int): Идентификатор чата. - message_ids (List[str] | None): Фильтр по идентификаторам сообщений. - from_time (datetime | int | None): Начальная временная метка. - to_time (datetime | int | None): Конечная временная метка. - count (int): Максимальное число сообщений. + bot: Экземпляр бота. + chat_id: Идентификатор чата. + message_ids: Фильтр по идентификаторам сообщений. + from_time: Начальная временная метка. + to_time: Конечная временная метка. + count: Максимальное число сообщений. """ def __init__( diff --git a/maxapi/methods/get_pinned_message.py b/maxapi/methods/get_pinned_message.py index 39a35b7..01e9a1e 100644 --- a/maxapi/methods/get_pinned_message.py +++ b/maxapi/methods/get_pinned_message.py @@ -16,8 +16,8 @@ class GetPinnedMessage(BaseConnection): https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (int): Идентификатор чата. + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата. """ def __init__( diff --git a/maxapi/methods/get_subscriptions.py b/maxapi/methods/get_subscriptions.py index af140e5..2679bf2 100644 --- a/maxapi/methods/get_subscriptions.py +++ b/maxapi/methods/get_subscriptions.py @@ -17,7 +17,7 @@ class GetSubscriptions(BaseConnection): https://dev.max.ru/docs-api/methods/GET/subscriptions Attributes: - bot (Bot): Экземпляр бота + bot: Экземпляр бота """ def __init__( diff --git a/maxapi/methods/get_updates.py b/maxapi/methods/get_updates.py index f71e975..47edb07 100644 --- a/maxapi/methods/get_updates.py +++ b/maxapi/methods/get_updates.py @@ -23,11 +23,11 @@ class GetUpdates(BaseConnection): с возможностью фильтрации по типам и маркеру последнего обновления. Attributes: - bot (Bot): Экземпляр бота. - limit (int): Лимит на количество получаемых обновлений. - timeout (int): Таймаут ожидания. - marker (Optional[int]): ID последнего обработанного события. - types (Optional[Sequence[UpdateType]]): Список типов событий + bot: Экземпляр бота. + limit: Лимит на количество получаемых обновлений. + timeout: Таймаут ожидания. + marker: ID последнего обработанного события. + types: Список типов событий для фильтрации. """ diff --git a/maxapi/methods/get_upload_url.py b/maxapi/methods/get_upload_url.py index d3fb8e4..84a877a 100644 --- a/maxapi/methods/get_upload_url.py +++ b/maxapi/methods/get_upload_url.py @@ -17,8 +17,8 @@ class GetUploadURL(BaseConnection): https://dev.max.ru/docs-api/methods/POST/uploads Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - type (UploadType): Тип загружаемого файла (например, image, + bot: Экземпляр бота для выполнения запроса. + type: Тип загружаемого файла (например, image, video и т.д.). """ diff --git a/maxapi/methods/get_video.py b/maxapi/methods/get_video.py index 002bc8a..577884a 100644 --- a/maxapi/methods/get_video.py +++ b/maxapi/methods/get_video.py @@ -16,8 +16,8 @@ class GetVideo(BaseConnection): https://dev.max.ru/docs-api/methods/GET/videos/-videoToken- Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - video_token (str): Токен видео для запроса. + bot: Экземпляр бота для выполнения запроса. + video_token: Токен видео для запроса. """ def __init__(self, bot: "Bot", video_token: str): diff --git a/maxapi/methods/pin_message.py b/maxapi/methods/pin_message.py index 16c65aa..c2fb848 100644 --- a/maxapi/methods/pin_message.py +++ b/maxapi/methods/pin_message.py @@ -16,11 +16,11 @@ class PinMessage(BaseConnection): https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (int): Идентификатор чата, в котором закрепляется + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата, в котором закрепляется сообщение. - message_id (str): Идентификатор сообщения для закрепления. - notify (bool, optional): Отправлять ли уведомление о закреплении + message_id: Идентификатор сообщения для закрепления. + notify: Отправлять ли уведомление о закреплении (по умолчанию True). """ diff --git a/maxapi/methods/remove_admin.py b/maxapi/methods/remove_admin.py index 183ba1d..1a66d14 100644 --- a/maxapi/methods/remove_admin.py +++ b/maxapi/methods/remove_admin.py @@ -16,9 +16,9 @@ class RemoveAdmin(BaseConnection): https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId- Attributes: - bot (Bot): Экземпляр бота. - chat_id (int): Идентификатор чата. - user_id (int): Идентификатор пользователя. + bot: Экземпляр бота. + chat_id: Идентификатор чата. + user_id: Идентификатор пользователя. """ def __init__(self, bot: "Bot", chat_id: int, user_id: int): diff --git a/maxapi/methods/remove_member_chat.py b/maxapi/methods/remove_member_chat.py index e9238ca..08b885f 100644 --- a/maxapi/methods/remove_member_chat.py +++ b/maxapi/methods/remove_member_chat.py @@ -14,11 +14,11 @@ class RemoveMemberChat(BaseConnection): Класс для удаления участника из чата с опцией блокировки. Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (int): Идентификатор чата. - user_id (int): Идентификатор пользователя, которого необходимо + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата. + user_id: Идентификатор пользователя, которого необходимо удалить. - block (bool, optional): Блокировать пользователя после удаления. + block: Блокировать пользователя после удаления. По умолчанию False. """ diff --git a/maxapi/methods/send_action.py b/maxapi/methods/send_action.py index 54ed424..0db0a3b 100644 --- a/maxapi/methods/send_action.py +++ b/maxapi/methods/send_action.py @@ -18,10 +18,10 @@ class SendAction(BaseConnection): https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (Optional[int]): Идентификатор чата. Если None, + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата. Если None, действие не отправляется. - action (Optional[SenderAction]): Тип действия. По умолчанию + action: Тип действия. По умолчанию SenderAction.TYPING_ON. """ diff --git a/maxapi/methods/send_callback.py b/maxapi/methods/send_callback.py index ff5cf85..461ef6d 100644 --- a/maxapi/methods/send_callback.py +++ b/maxapi/methods/send_callback.py @@ -20,10 +20,10 @@ class SendCallback(BaseConnection): https://dev.max.ru/docs-api/methods/POST/answers Attributes: - bot (Bot): Экземпляр бота. - callback_id (str): Идентификатор callback. - message (Optional[MessageForCallback]): Сообщение для отправки. - notification (Optional[str]): Текст уведомления. + bot: Экземпляр бота. + callback_id: Идентификатор callback. + message: Сообщение для отправки. + notification: Текст уведомления. """ def __init__( diff --git a/maxapi/methods/send_message.py b/maxapi/methods/send_message.py index fa5c453..a3a9c66 100644 --- a/maxapi/methods/send_message.py +++ b/maxapi/methods/send_message.py @@ -29,23 +29,23 @@ class SendMessage(BaseConnection): https://dev.max.ru/docs-api/methods/POST/messages Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - chat_id (Optional[int]): Идентификатор чата, куда отправлять + bot: Экземпляр бота для выполнения запроса. + chat_id: Идентификатор чата, куда отправлять сообщение. - user_id (Optional[int]): Идентификатор пользователя, если нужно + user_id: Идентификатор пользователя, если нужно отправить личное сообщение. - text (Optional[str]): Текст сообщения. - attachments (Optional[list]): Список вложений к сообщению. + text: Текст сообщения. + attachments: Список вложений к сообщению. Может быть None. - link (Optional[NewMessageLink]): Связь с другим сообщением + link: Связь с другим сообщением (например, ответ или пересылка). - notify (Optional[bool]): Отправлять ли уведомление о сообщении. + notify: Отправлять ли уведомление о сообщении. По умолчанию True. - format (Optional[TextFormat]): Режим форматирования + format: Режим форматирования (например, Markdown, HTML). - parse_mode (Optional[ParseMode]): Режим форматирования текста + parse_mode: Режим форматирования текста (например, Markdown, HTML). - disable_link_preview (Optional[bool]): Флаг генерации превью. + disable_link_preview: Флаг генерации превью. """ def __init__( diff --git a/maxapi/methods/subscribe_webhook.py b/maxapi/methods/subscribe_webhook.py index 670842e..00ce7a6 100644 --- a/maxapi/methods/subscribe_webhook.py +++ b/maxapi/methods/subscribe_webhook.py @@ -20,13 +20,13 @@ class SubscribeWebhook(BaseConnection): `80`, `8080`, `443`, `8443`, `16384`-`32383`. Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - url (str): URL HTTP(S)-эндпойнта вашего бота. Должен начинаться + bot: Экземпляр бота для выполнения запроса. + url: URL HTTP(S)-эндпойнта вашего бота. Должен начинаться с http(s):// - update_types (Optional[List[str]]): Список типов обновлений, + update_types: Список типов обновлений, которые ваш бот хочет получать. Для полного списка типов см. объект - secret (Optional[str]): От 5 до 256 символов. Секрет, который + secret: От 5 до 256 символов. Секрет, который должен быть отправлен в заголовке X-Max-Bot-Api-Secret в каждом запросе Webhook. Разрешены только символы A-Z, a-z, 0-9, и дефис. Заголовок рекомендован, чтобы запрос поступал diff --git a/maxapi/methods/types/added_admin_chat.py b/maxapi/methods/types/added_admin_chat.py index e829a9b..8a2eed1 100644 --- a/maxapi/methods/types/added_admin_chat.py +++ b/maxapi/methods/types/added_admin_chat.py @@ -6,8 +6,8 @@ class AddedListAdminChat(BaseModel): Ответ API при добавлении списка администраторов в чат. Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/added_members_chat.py b/maxapi/methods/types/added_members_chat.py index 242b7d9..d48da45 100644 --- a/maxapi/methods/types/added_members_chat.py +++ b/maxapi/methods/types/added_members_chat.py @@ -10,8 +10,8 @@ class FailedUserDetails(BaseModel): Детали ошибки для пользователя. Attributes: - error_code (str): Код ошибки. - user_ids (List[int]): Список ID пользователей, для которых произошла + error_code: Код ошибки. + user_ids: Список ID пользователей, для которых произошла ошибка. """ @@ -24,8 +24,8 @@ class AddedMembersChat(BaseModel): Ответ API при добавлении списка пользователей в чат. Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/deleted_bot_from_chat.py b/maxapi/methods/types/deleted_bot_from_chat.py index b41550e..7cfb626 100644 --- a/maxapi/methods/types/deleted_bot_from_chat.py +++ b/maxapi/methods/types/deleted_bot_from_chat.py @@ -6,8 +6,8 @@ class DeletedBotFromChat(BaseModel): Ответ API при удалении бота из чата. Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/deleted_chat.py b/maxapi/methods/types/deleted_chat.py index d747b06..cfd4811 100644 --- a/maxapi/methods/types/deleted_chat.py +++ b/maxapi/methods/types/deleted_chat.py @@ -6,8 +6,8 @@ class DeletedChat(BaseModel): Ответ API при удалении чата (?). Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/deleted_message.py b/maxapi/methods/types/deleted_message.py index dc8350f..035bde7 100644 --- a/maxapi/methods/types/deleted_message.py +++ b/maxapi/methods/types/deleted_message.py @@ -6,8 +6,8 @@ class DeletedMessage(BaseModel): Ответ API при удалении сообщения. Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/deleted_pin_message.py b/maxapi/methods/types/deleted_pin_message.py index 56388a2..666d646 100644 --- a/maxapi/methods/types/deleted_pin_message.py +++ b/maxapi/methods/types/deleted_pin_message.py @@ -6,8 +6,8 @@ class DeletedPinMessage(BaseModel): Ответ API при удалении закрепленного в чате сообщения. Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/edited_message.py b/maxapi/methods/types/edited_message.py index 5a1ff56..b054080 100644 --- a/maxapi/methods/types/edited_message.py +++ b/maxapi/methods/types/edited_message.py @@ -6,8 +6,8 @@ class EditedMessage(BaseModel): Ответ API при изменении сообщения. Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/getted_list_admin_chat.py b/maxapi/methods/types/getted_list_admin_chat.py index e1baf54..cb365a0 100644 --- a/maxapi/methods/types/getted_list_admin_chat.py +++ b/maxapi/methods/types/getted_list_admin_chat.py @@ -8,8 +8,8 @@ class GettedListAdminChat(BaseModel): Ответ API с полученным списком администраторов чата. Attributes: - members (List[ChatMember]): Список участников с правами администратора. - marker (Optional[int]): Маркер для постраничной навигации (если есть). + members: Список участников с правами администратора. + marker: Маркер для постраничной навигации (если есть). """ members: list[ChatMember] diff --git a/maxapi/methods/types/getted_members_chat.py b/maxapi/methods/types/getted_members_chat.py index dc17c4e..5165349 100644 --- a/maxapi/methods/types/getted_members_chat.py +++ b/maxapi/methods/types/getted_members_chat.py @@ -8,8 +8,8 @@ class GettedMembersChat(BaseModel): Ответ API с полученным списком участников чата. Attributes: - members (List[ChatMember]): Список участников с правами администратора. - marker (Optional[int]): Маркер для постраничной навигации (если есть). + members: Список участников с правами администратора. + marker: Маркер для постраничной навигации (если есть). """ members: list[ChatMember] diff --git a/maxapi/methods/types/getted_pineed_message.py b/maxapi/methods/types/getted_pineed_message.py index b23eefa..83a6320 100644 --- a/maxapi/methods/types/getted_pineed_message.py +++ b/maxapi/methods/types/getted_pineed_message.py @@ -8,7 +8,7 @@ class GettedPin(BaseModel): Ответ API с информацией о закреплённом сообщении. Attributes: - message (Optional[Message]): Закреплённое сообщение, если оно есть. + message: Закреплённое сообщение, если оно есть. """ message: Message | None = None diff --git a/maxapi/methods/types/getted_subscriptions.py b/maxapi/methods/types/getted_subscriptions.py index 153eca7..183c27f 100644 --- a/maxapi/methods/types/getted_subscriptions.py +++ b/maxapi/methods/types/getted_subscriptions.py @@ -8,7 +8,7 @@ class GettedSubscriptions(BaseModel): Ответ API с отправленным сообщением. Attributes: - message (Message): Объект отправленного сообщения. + subscriptions: Список подписок бота. """ subscriptions: list[Subscription] diff --git a/maxapi/methods/types/pinned_message.py b/maxapi/methods/types/pinned_message.py index 1e51cfc..cf79001 100644 --- a/maxapi/methods/types/pinned_message.py +++ b/maxapi/methods/types/pinned_message.py @@ -6,8 +6,8 @@ class PinnedMessage(BaseModel): Ответ API при добавлении списка администраторов в чат. Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/removed_admin.py b/maxapi/methods/types/removed_admin.py index d0780cc..1419f32 100644 --- a/maxapi/methods/types/removed_admin.py +++ b/maxapi/methods/types/removed_admin.py @@ -6,8 +6,8 @@ class RemovedAdmin(BaseModel): Ответ API при отмене прав администратора у пользователя в чате Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/removed_member_chat.py b/maxapi/methods/types/removed_member_chat.py index 65169f0..9787e50 100644 --- a/maxapi/methods/types/removed_member_chat.py +++ b/maxapi/methods/types/removed_member_chat.py @@ -6,8 +6,8 @@ class RemovedMemberChat(BaseModel): Ответ API при удалении участника из чата. Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или описание ошибки. + success: Статус успешности операции. + message: Дополнительное сообщение или описание ошибки. """ success: bool diff --git a/maxapi/methods/types/sended_action.py b/maxapi/methods/types/sended_action.py index 7802ed7..a53cf8c 100644 --- a/maxapi/methods/types/sended_action.py +++ b/maxapi/methods/types/sended_action.py @@ -6,8 +6,8 @@ class SendedAction(BaseModel): Ответ API после выполнения действия. Attributes: - success (bool): Статус успешности выполнения операции. - message (Optional[str]): Дополнительное сообщение или описание ошибки. + success: Статус успешности выполнения операции. + message: Дополнительное сообщение или описание ошибки. """ success: bool diff --git a/maxapi/methods/types/sended_callback.py b/maxapi/methods/types/sended_callback.py index 34d33d3..0a25e6f 100644 --- a/maxapi/methods/types/sended_callback.py +++ b/maxapi/methods/types/sended_callback.py @@ -11,10 +11,10 @@ class SendedCallback(BaseModel): Ответ API после выполнения callback-действия. Attributes: - success (bool): Статус успешности выполнения callback. - message (Optional[str]): Дополнительное сообщение или описание + success: Статус успешности выполнения callback. + message: Дополнительное сообщение или описание ошибки. - bot (Optional[Bot]): Внутреннее поле для хранения ссылки + bot: Внутреннее поле для хранения ссылки на экземпляр бота (не сериализуется). """ diff --git a/maxapi/methods/types/sended_message.py b/maxapi/methods/types/sended_message.py index 0639f6f..1eb9fa0 100644 --- a/maxapi/methods/types/sended_message.py +++ b/maxapi/methods/types/sended_message.py @@ -8,7 +8,7 @@ class SendedMessage(BaseModel): Ответ API с отправленным сообщением. Attributes: - message (Message): Объект отправленного сообщения. + message: Объект отправленного сообщения. """ message: Message diff --git a/maxapi/methods/types/subscribed.py b/maxapi/methods/types/subscribed.py index 0dbbdf3..d8083f6 100644 --- a/maxapi/methods/types/subscribed.py +++ b/maxapi/methods/types/subscribed.py @@ -6,8 +6,8 @@ class Subscribed(BaseModel): Результат подписки на обновления на Webhook Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/types/unsubscribed.py b/maxapi/methods/types/unsubscribed.py index 96927dc..27163c7 100644 --- a/maxapi/methods/types/unsubscribed.py +++ b/maxapi/methods/types/unsubscribed.py @@ -6,8 +6,8 @@ class Unsubscribed(BaseModel): Результат отписки от обновлений на Webhook Attributes: - success (bool): Статус успешности операции. - message (Optional[str]): Дополнительное сообщение или ошибка. + success: Статус успешности операции. + message: Дополнительное сообщение или ошибка. """ success: bool diff --git a/maxapi/methods/unsubscribe_webhook.py b/maxapi/methods/unsubscribe_webhook.py index 817ce5b..11b012d 100644 --- a/maxapi/methods/unsubscribe_webhook.py +++ b/maxapi/methods/unsubscribe_webhook.py @@ -19,8 +19,8 @@ class UnsubscribeWebhook(BaseConnection): https://dev.max.ru/docs-api/methods/DELETE/subscriptions Attributes: - bot (Bot): Экземпляр бота для выполнения запроса. - url (str): URL, который нужно удалить из подписок на WebHook + bot: Экземпляр бота для выполнения запроса. + url: URL, который нужно удалить из подписок на WebHook """ def __init__( diff --git a/maxapi/types/attachments/attachment.py b/maxapi/types/attachments/attachment.py index 8bc9975..8a24a0f 100644 --- a/maxapi/types/attachments/attachment.py +++ b/maxapi/types/attachments/attachment.py @@ -17,8 +17,8 @@ class StickerAttachmentPayload(BaseModel): Данные для вложения типа стикер. Attributes: - url (str): URL стикера. - code (str): Код стикера. + url: URL стикера. + code: Код стикера. """ url: str @@ -30,9 +30,9 @@ class PhotoAttachmentPayload(BaseModel): Данные для фото-вложения. Attributes: - photo_id (int): Идентификатор фотографии. - token (str): Токен для доступа к фото. - url (str): URL фотографии. + photo_id: Идентификатор фотографии. + token: Токен для доступа к фото. + url: URL фотографии. """ photo_id: int @@ -45,8 +45,8 @@ class OtherAttachmentPayload(BaseModel): Данные для общих типов вложений (файлы и т.п.). Attributes: - url (str): URL вложения. - token (Optional[str]): Опциональный токен доступа. + url: URL вложения. + token: Опциональный токен доступа. """ url: str @@ -58,8 +58,8 @@ class ShareAttachmentPayload(BaseModel): Данные для вложения типа "share". Attributes: - url (str): URL расшаренного ресурса. - token (str): Токен доступа. + url: URL расшаренного ресурса. + token: Токен доступа. """ url: str @@ -71,8 +71,8 @@ class ContactAttachmentPayload(BaseModel): Данные для контакта. Attributes: - vcf_info (Optional[str]): Информация в формате vcf. - max_info (Optional[User]): Дополнительная информация о пользователе. + vcf_info: Информация в формате vcf. + max_info: Дополнительная информация о пользователе. """ vcf_info: str = "" # для корректного определения @@ -90,7 +90,7 @@ class ButtonsPayload(BaseModel): Данные для вложения с кнопками. Attributes: - buttons (List[List[InlineButtonUnion]]): Двумерный список + buttons: Двумерный список inline-кнопок. """ @@ -108,8 +108,8 @@ class Attachment(BaseModel): Универсальный класс вложения с типом и полезной нагрузкой. Attributes: - type (AttachmentType): Тип вложения. - payload (Optional[Union[...] ]): Полезная нагрузка, зависит + type: Тип вложения. + payload: Полезная нагрузка, зависит от типа вложения. """ diff --git a/maxapi/types/attachments/audio.py b/maxapi/types/attachments/audio.py index 9ba2449..3ed82b1 100644 --- a/maxapi/types/attachments/audio.py +++ b/maxapi/types/attachments/audio.py @@ -9,7 +9,7 @@ class Audio(Attachment): Вложение с типом аудио. Attributes: - transcription (Optional[str]): Транскрипция аудио (если есть). + transcription: Транскрипция аудио (если есть). """ type: Literal[AttachmentType.AUDIO] diff --git a/maxapi/types/attachments/buttons/link_button.py b/maxapi/types/attachments/buttons/link_button.py index 537837b..e5931b3 100644 --- a/maxapi/types/attachments/buttons/link_button.py +++ b/maxapi/types/attachments/buttons/link_button.py @@ -9,7 +9,7 @@ class LinkButton(Button): Кнопка с внешней ссылкой. Attributes: - url (Optional[str]): Ссылка для перехода (должна содержать http/https) + url: Ссылка для перехода (должна содержать http/https) """ type: Literal[ButtonType.LINK] = ButtonType.LINK diff --git a/maxapi/types/attachments/buttons/request_contact.py b/maxapi/types/attachments/buttons/request_contact.py index 49d1641..d60316f 100644 --- a/maxapi/types/attachments/buttons/request_contact.py +++ b/maxapi/types/attachments/buttons/request_contact.py @@ -9,7 +9,7 @@ class RequestContactButton(Button): Кнопка с контактом Attributes: - text (str): Текст кнопки + text: Текст кнопки """ type: Literal[ButtonType.REQUEST_CONTACT] = ButtonType.REQUEST_CONTACT diff --git a/maxapi/types/attachments/file.py b/maxapi/types/attachments/file.py index cf9a169..2dddb85 100644 --- a/maxapi/types/attachments/file.py +++ b/maxapi/types/attachments/file.py @@ -9,8 +9,8 @@ class File(Attachment): Вложение с типом файла. Attributes: - filename (Optional[str]): Имя файла. - size (Optional[int]): Размер файла в байтах. + filename: Имя файла. + size: Размер файла в байтах. """ type: Literal[AttachmentType.FILE] diff --git a/maxapi/types/attachments/image.py b/maxapi/types/attachments/image.py index 543b617..79ed04d 100644 --- a/maxapi/types/attachments/image.py +++ b/maxapi/types/attachments/image.py @@ -11,9 +11,9 @@ class PhotoAttachmentRequestPayload(BaseModel): Полезная нагрузка для запроса фото-вложения. Attributes: - url (Optional[str]): URL изображения. - token (Optional[str]): Токен доступа к изображению. - photos (Optional[str]): Дополнительные данные о фотографиях. + url: URL изображения. + token: Токен доступа к изображению. + photos: Дополнительные данные о фотографиях. """ url: str | None = None @@ -26,7 +26,7 @@ class Image(Attachment): Вложение с типом изображения. Attributes: - type (Literal['image']): Тип вложения, всегда 'image'. + type: Тип вложения, всегда 'image'. """ type: Literal[AttachmentType.IMAGE] # pyright: ignore[reportIncompatibleVariableOverride] diff --git a/maxapi/types/attachments/location.py b/maxapi/types/attachments/location.py index ae60c2a..d48fb43 100644 --- a/maxapi/types/attachments/location.py +++ b/maxapi/types/attachments/location.py @@ -9,8 +9,8 @@ class Location(Attachment): Вложение с типом геолокации. Attributes: - latitude (Optional[float]): Широта. - longitude (Optional[float]): Долгота. + latitude: Широта. + longitude: Долгота. """ type: Literal[AttachmentType.LOCATION] # pyright: ignore[reportIncompatibleVariableOverride] diff --git a/maxapi/types/attachments/share.py b/maxapi/types/attachments/share.py index 5df702a..de2abab 100644 --- a/maxapi/types/attachments/share.py +++ b/maxapi/types/attachments/share.py @@ -9,10 +9,10 @@ class Share(Attachment): Вложение с типом "share" (поделиться). Attributes: - title (Optional[str]): Заголовок для шаринга. - description (Optional[str]): Описание. - image_url (Optional[str]): URL изображения для предпросмотра. - payload (Optional[ShareAttachmentPayload]): Данные share-вложения + title: Заголовок для шаринга. + description: Описание. + image_url: URL изображения для предпросмотра. + payload: Данные share-вложения (url + token). """ diff --git a/maxapi/types/attachments/sticker.py b/maxapi/types/attachments/sticker.py index c7426b4..85fc805 100644 --- a/maxapi/types/attachments/sticker.py +++ b/maxapi/types/attachments/sticker.py @@ -9,8 +9,8 @@ class Sticker(Attachment): Вложение с типом стикера. Attributes: - width (Optional[int]): Ширина стикера в пикселях. - height (Optional[int]): Высота стикера в пикселях. + width: Ширина стикера в пикселях. + height: Высота стикера в пикселях. """ type: Literal[AttachmentType.STICKER] # pyright: ignore[reportIncompatibleVariableOverride] diff --git a/maxapi/types/attachments/upload.py b/maxapi/types/attachments/upload.py index 9d3466d..121dd6f 100644 --- a/maxapi/types/attachments/upload.py +++ b/maxapi/types/attachments/upload.py @@ -8,7 +8,7 @@ class AttachmentPayload(BaseModel): Полезная нагрузка вложения с токеном. Attributes: - token (str): Токен для доступа или идентификации вложения. + token: Токен для доступа или идентификации вложения. """ token: str @@ -19,8 +19,8 @@ class AttachmentUpload(BaseModel): Вложение с полезной нагрузкой для загрузки на сервера MAX. Attributes: - type (UploadType): Тип вложения (например, image, video, audio). - payload (AttachmentPayload): Полезная нагрузка с токеном. + type: Тип вложения (например, image, video, audio). + payload: Полезная нагрузка с токеном. """ type: UploadType diff --git a/maxapi/types/attachments/video.py b/maxapi/types/attachments/video.py index 0c82b74..8d261d8 100644 --- a/maxapi/types/attachments/video.py +++ b/maxapi/types/attachments/video.py @@ -14,13 +14,13 @@ class VideoUrl(BaseModel): URLs различных разрешений видео. Attributes: - mp4_1080 (Optional[str]): URL видео в 1080p. - mp4_720 (Optional[str]): URL видео в 720p. - mp4_480 (Optional[str]): URL видео в 480p. - mp4_360 (Optional[str]): URL видео в 360p. - mp4_240 (Optional[str]): URL видео в 240p. - mp4_144 (Optional[str]): URL видео в 144p. - hls (Optional[str]): URL HLS потока. + mp4_1080: URL видео в 1080p. + mp4_720: URL видео в 720p. + mp4_480: URL видео в 480p. + mp4_360: URL видео в 360p. + mp4_240: URL видео в 240p. + mp4_144: URL видео в 144p. + hls: URL HLS потока. """ mp4_1080: str | None = None @@ -37,7 +37,7 @@ class VideoThumbnail(BaseModel): Миниатюра видео. Attributes: - url (str): URL миниатюры. + url: URL миниатюры. """ url: str @@ -48,13 +48,13 @@ class Video(Attachment): Вложение с типом видео. Attributes: - token (Optional[str]): Токен видео. - urls (Optional[VideoUrl]): URLs видео разных разрешений. - thumbnail (VideoThumbnail): Миниатюра видео. - width (Optional[int]): Ширина видео. - height (Optional[int]): Высота видео. - duration (Optional[int]): Продолжительность видео в секундах. - bot (Optional[Any]): Ссылка на экземпляр бота, не сериализуется. + token: Токен видео. + urls: URLs видео разных разрешений. + thumbnail: Миниатюра видео. + width: Ширина видео. + height: Высота видео. + duration: Продолжительность видео в секундах. + bot: Ссылка на экземпляр бота, не сериализуется. """ type: Literal[AttachmentType.VIDEO] # pyright: ignore[reportIncompatibleVariableOverride] diff --git a/maxapi/types/callback.py b/maxapi/types/callback.py index 625abe9..547a11b 100644 --- a/maxapi/types/callback.py +++ b/maxapi/types/callback.py @@ -8,11 +8,11 @@ class Callback(BaseModel): Модель callback-запроса. Attributes: - timestamp (int): Временная метка callback. - callback_id (str): Уникальный идентификатор callback. - payload (Optional[str]): Дополнительные данные callback. + timestamp: Временная метка callback. + callback_id: Уникальный идентификатор callback. + payload: Дополнительные данные callback. Может быть None. - user (User): Объект пользователя, инициировавшего callback. + user: Объект пользователя, инициировавшего callback. """ timestamp: int diff --git a/maxapi/types/chats.py b/maxapi/types/chats.py index 28b52ad..ddb6cd8 100644 --- a/maxapi/types/chats.py +++ b/maxapi/types/chats.py @@ -49,7 +49,7 @@ class Icon(BaseModel): Модель иконки чата. Attributes: - url (str): URL-адрес иконки. + url: URL-адрес иконки. """ url: str @@ -215,27 +215,27 @@ class Chat( Модель чата. Attributes: - chat_id (int): Уникальный идентификатор чата. - type (ChatType): Тип чата. - status (ChatStatus): Статус чата. - title (Optional[str]): Название чата. - icon (Optional[Icon]): Иконка чата. Может быть None. - last_event_time (int): Временная метка последнего события + chat_id: Уникальный идентификатор чата. + type: Тип чата. + status: Статус чата. + title: Название чата. + icon: Иконка чата. Может быть None. + last_event_time: Временная метка последнего события в чате. - participants_count (int): Количество участников чата. - owner_id (Optional[int]): Идентификатор владельца чата. - participants (Optional[Dict[str, datetime]]): Словарь участников + participants_count: Количество участников чата. + owner_id: Идентификатор владельца чата. + participants: Словарь участников с временными метками. Может быть None. - is_public (bool): Флаг публичности чата. - link (Optional[str]): Ссылка на чат. Может быть None. - description (Optional[str]): Описание чата. Может быть None. - dialog_with_user (Optional[User]): Пользователь, с которым + is_public: Флаг публичности чата. + link: Ссылка на чат. Может быть None. + description: Описание чата. Может быть None. + dialog_with_user: Пользователь, с которым ведется диалог. Может быть None. - messages_count (Optional[int]): Количество сообщений в чате. + messages_count: Количество сообщений в чате. Может быть None. - chat_message_id (Optional[str]): Идентификатор сообщения чата. + chat_message_id: Идентификатор сообщения чата. Может быть None. - pinned_message (Optional[Message]): Закрепленное сообщение. + pinned_message: Закрепленное сообщение. Может быть None. """ @@ -306,7 +306,7 @@ def convert_timestamps( в объекты datetime. Args: - value (Optional[Dict[str, int]]): Словарь с временными + value: Словарь с временными метками в миллисекундах. Может быть None, если участников нет. Returns: @@ -439,8 +439,8 @@ class Chats(BaseModel): Модель списка чатов. Attributes: - chats (List[Chat]): Список чатов. По умолчанию пустой. - marker (Optional[int]): Маркер для пагинации. Может быть None. + chats: Список чатов. По умолчанию пустой. + marker: Маркер для пагинации. Может быть None. """ chats: list[Chat] = Field(default_factory=list) @@ -452,16 +452,16 @@ class ChatMember(User): Модель участника чата. Attributes: - last_access_time (Optional[int]): Время последнего доступа. + last_access_time: Время последнего доступа. Может быть None. - is_owner (Optional[bool]): Флаг владельца чата. Может быть None. - is_admin (Optional[bool]): Флаг администратора чата. + is_owner: Флаг владельца чата. Может быть None. + is_admin: Флаг администратора чата. Может быть None. - join_time (Optional[int]): Время присоединения к чату. + join_time: Время присоединения к чату. Может быть None. - permissions (Optional[List[ChatPermission]]): Список разрешений + permissions: Список разрешений участника. Может быть None. - alias (Optional[str]): Заголовок, который будет показан + alias: Заголовок, который будет показан на клиент. Может быть None. """ diff --git a/maxapi/types/command.py b/maxapi/types/command.py index 8dd3617..c38768a 100644 --- a/maxapi/types/command.py +++ b/maxapi/types/command.py @@ -6,8 +6,8 @@ class BotCommand(BaseModel): Модель команды бота для сериализации. Attributes: - name (str): Название команды. - description (Optional[str]): Описание команды. Может быть None. + name: Название команды. + description: Описание команды. Может быть None. """ name: str diff --git a/maxapi/types/input_media.py b/maxapi/types/input_media.py index 8aa151c..64fe619 100644 --- a/maxapi/types/input_media.py +++ b/maxapi/types/input_media.py @@ -12,8 +12,8 @@ class InputMedia: Класс для представления медиафайла. Attributes: - path (str): Путь к файлу. - type (UploadType): Тип файла, определенный на основе содержимого + path: Путь к файлу. + type: Тип файла, определенный на основе содержимого (MIME-типа). """ @@ -22,8 +22,8 @@ def __init__(self, path: str, type: UploadType | None = None): Инициализирует объект медиафайла. Args: - path (str): Путь к файлу. - type (UploadType, optional): Тип файла. Если не указан, + path: Путь к файлу. + type: Тип файла. Если не указан, определяется автоматически. """ @@ -35,7 +35,7 @@ def __detect_file_type(self, path: str) -> UploadType: Определяет тип файла на основе его содержимого (MIME-типа). Args: - path (str): Путь к файлу. + path: Путь к файлу. Returns: UploadType: Тип файла (VIDEO, IMAGE, AUDIO или FILE). @@ -71,8 +71,8 @@ class InputMediaBuffer: Класс для представления медиафайла из буфера. Attributes: - buffer (bytes): Буфер с содержимым файла. - type (UploadType): Тип файла, определенный по содержимому. + buffer: Буфер с содержимым файла. + type: Тип файла, определенный по содержимому. """ def __init__( @@ -85,10 +85,10 @@ def __init__( Инициализирует объект медиафайла из буфера. Args: - buffer (bytes): Буфер с содержимым файла. - filename (str, optional): Название файла (по умолчанию + buffer: Буфер с содержимым файла. + filename: Название файла (по умолчанию присваивается uuid4). - type (UploadType, optional): Тип файла. Если не указан, + type: Тип файла. Если не указан, определяется автоматически. """ diff --git a/maxapi/types/message.py b/maxapi/types/message.py index 800bdb5..b33270e 100644 --- a/maxapi/types/message.py +++ b/maxapi/types/message.py @@ -42,9 +42,9 @@ class MarkupElement(BaseModel): Модель элемента разметки текста. Attributes: - type (TextStyle): Тип разметки. - from_ (int): Начальная позиция разметки в тексте. - length (int): Длина разметки. + type: Тип разметки. + from_: Начальная позиция разметки в тексте. + length: Длина разметки. """ type: TextStyle @@ -61,7 +61,7 @@ class MarkupLink(MarkupElement): Модель разметки ссылки. Attributes: - url (Optional[str]): URL ссылки. Может быть None. + url: URL ссылки. Может быть None. """ type: Literal[TextStyle.LINK] = TextStyle.LINK @@ -73,8 +73,8 @@ class MarkupUserMention(MarkupElement): Модель разметки упоминания пользователя. Attributes: - user_id (Optional[int]): Идентификатор пользователя. Может быть None. - user_link (Optional[str]): Ссылка на пользователя. Может быть None. + user_id: Идентификатор пользователя. Может быть None. + user_link: Ссылка на пользователя. Может быть None. """ type: Literal[TextStyle.USER_MENTION] = TextStyle.USER_MENTION @@ -87,9 +87,9 @@ class Recipient(BaseModel): Модель получателя сообщения. Attributes: - user_id (Optional[int]): Идентификатор пользователя. Может быть None. - chat_id (Optional[int]): Идентификатор чата. Может быть None. - chat_type (ChatType): Тип получателя (диалог или чат). + user_id: Идентификатор пользователя. Может быть None. + chat_id: Идентификатор чата. Может быть None. + chat_type: Тип получателя (диалог или чат). """ user_id: int | None = None @@ -102,11 +102,11 @@ class MessageBody(BaseModel): Модель тела сообщения. Attributes: - mid (str): Уникальный идентификатор сообщения. - seq (int): Порядковый номер сообщения. - text (str): Текст сообщения. Может быть None. - attachments (Optional[list[Attachments]]): Список вложений. По умолчанию пустой список. - markup (Optional[list[MarkupUserMention | MarkupLink | MarkupElement]]): Список элементов разметки. По умолчанию пустой список. + mid: Уникальный идентификатор сообщения. + seq: Порядковый номер сообщения. + text: Текст сообщения. Может быть None. + attachments: Список вложений. По умолчанию пустой список. + markup: Список элементов разметки. По умолчанию пустой список. """ mid: str @@ -272,7 +272,7 @@ class MessageStat(BaseModel): Модель статистики сообщения. Attributes: - views (int): Количество просмотров сообщения. + views: Количество просмотров сообщения. """ views: int @@ -283,12 +283,12 @@ class LinkedMessage(BaseModel): Модель связанного сообщения. Attributes: - type (MessageLinkType): Тип связи. - sender (Optional[User]): Отправитель связанного сообщения, + type: Тип связи. + sender: Отправитель связанного сообщения, может быть None, если связанное сообщение отправлено каналом https://github.com/love-apples/maxapi/issues/11. - chat_id (Optional[int]): Идентификатор чата. Может быть None. - message (MessageBody): Тело связанного сообщения. + chat_id: Идентификатор чата. Может быть None. + message: Тело связанного сообщения. """ type: MessageLinkType @@ -307,18 +307,18 @@ class Message( Модель сообщения. Attributes: - sender (Optional[User]): Отправитель сообщения, может быть None, + sender: Отправитель сообщения, может быть None, если сообщение отправлено каналом https://github.com/love-apples/maxapi/discussions/14. - recipient (Recipient): Получатель сообщения. - timestamp (int): Временная метка сообщения. - link (Optional[LinkedMessage]): Связанное сообщение. Может быть None. - body (Optional[MessageBody]): Содержимое сообщения. + recipient: Получатель сообщения. + timestamp: Временная метка сообщения. + link: Связанное сообщение. Может быть None. + body: Содержимое сообщения. Текст + вложения. Может быть null, если сообщение содержит только пересланное сообщение - stat (Optional[MessageStat]): Статистика сообщения. Может быть None. - url (Optional[str]): URL сообщения. Может быть None. - bot (Optional[Bot]): Объект бота, исключается из сериализации. + stat: Статистика сообщения. Может быть None. + url: URL сообщения. Может быть None. + bot: Объект бота, исключается из сериализации. """ sender: User | None = None @@ -365,17 +365,17 @@ async def answer( Отправляет сообщение (автозаполнение chat_id, user_id). Args: - text (str, optional): Текст ответа. Может быть None. - attachments (list, optional): Список вложений. Может быть None. - link (NewMessageLink, optional): Связь с другим сообщением. + text: Текст ответа. Может быть None. + attachments: Список вложений. Может быть None. + link: Связь с другим сообщением. Может быть None. - format (TextFormat, optional): Режим форматирования текста. + format: Режим форматирования текста. Может быть None. - parse_mode (ParseMode, optional): Режим форматирования текста. + parse_mode: Режим форматирования текста. Может быть None. - notify (bool): Флаг отправки уведомления. По умолчанию True. - disable_link_preview (bool, optional): Флаг генерации превью. - sleep_after_input_media (bool, optional): Флаг задержки + notify: Флаг отправки уведомления. По умолчанию True. + disable_link_preview: Флаг генерации превью. + sleep_after_input_media: Флаг задержки после отправки вложений типа InputMedia. По умолчанию True. Returns: @@ -412,15 +412,15 @@ async def reply( Отправляет ответное сообщение (автозаполнение chat_id, user_id, link). Args: - text (str, optional): Текст ответа. Может быть None. - attachments (list, optional): Список вложений. Может быть None. - notify (bool): Флаг отправки уведомления. По умолчанию True. - format (TextFormat, optional): Режим форматирования текста. + text: Текст ответа. Может быть None. + attachments: Список вложений. Может быть None. + notify: Флаг отправки уведомления. По умолчанию True. + format: Режим форматирования текста. Может быть None. - parse_mode (ParseMode, optional): Режим форматирования текста. + parse_mode: Режим форматирования текста. Может быть None. - disable_link_preview (bool, optional): Флаг генерации превью. - sleep_after_input_media (bool, optional): Флаг задержки + disable_link_preview: Флаг генерации превью. + sleep_after_input_media: Флаг задержки после отправки вложений типа InputMedia. По умолчанию True. Returns: @@ -469,18 +469,18 @@ async def forward( (автозаполнение link) Args: - chat_id (int): ID чата для отправки (обязателен, если не + chat_id: ID чата для отправки (обязателен, если не указан user_id) - user_id (int): ID пользователя для отправки (обязателен, + user_id: ID пользователя для отправки (обязателен, если не указан chat_id). По умолчанию None - attachments (list, optional): Список вложений. Может быть None. - notify (bool): Флаг отправки уведомления. По умолчанию True. - format (TextFormat, optional): Режим форматирования + attachments: Список вложений. Может быть None. + notify: Флаг отправки уведомления. По умолчанию True. + format: Режим форматирования текста. Может быть None. - parse_mode (ParseMode, optional): Режим форматирования + parse_mode: Режим форматирования текста. Может быть None. - disable_link_preview (bool, optional): Флаг генерации превью. - sleep_after_input_media (bool, optional): Флаг задержки + disable_link_preview: Флаг генерации превью. + sleep_after_input_media: Флаг задержки после отправки вложений типа InputMedia. По умолчанию True. Returns: @@ -525,16 +525,16 @@ async def edit( Редактирует текущее сообщение. Args: - text (str, optional): Новый текст сообщения. Может быть None. - attachments (list, optional): Новые вложения. Может быть None. - link (NewMessageLink, optional): Новая связь с сообщением. + text: Новый текст сообщения. Может быть None. + attachments: Новые вложения. Может быть None. + link: Новая связь с сообщением. Может быть None. - format (TextFormat, optional): Режим форматирования текста. + format: Режим форматирования текста. Может быть None. - parse_mode (ParseMode, optional): Режим форматирования текста. + parse_mode: Режим форматирования текста. Может быть None. - notify (bool): Флаг отправки уведомления. По умолчанию True. - sleep_after_input_media (bool, optional): Флаг задержки + notify: Флаг отправки уведомления. По умолчанию True. + sleep_after_input_media: Флаг задержки после отправки вложений типа InputMedia. По умолчанию True. Returns: Optional[EditedMessage]: Результат выполнения метода @@ -589,7 +589,7 @@ async def pin(self, *, notify: bool = True) -> PinnedMessage: Закрепляет текущее сообщение в чате. Args: - notify (bool): Флаг отправки уведомления. По умолчанию True. + notify: Флаг отправки уведомления. По умолчанию True. Returns: PinnedMessage: Результат выполнения метода pin_message бота. @@ -629,8 +629,8 @@ class Messages(BaseModel): Модель списка сообщений. Attributes: - messages (List[Message]): Список сообщений. - bot (Optional[Bot]): Объект бота, исключается из сериализации. + messages: Список сообщений. + bot: Объект бота, исключается из сериализации. """ messages: list[Message] @@ -647,8 +647,8 @@ class NewMessageLink(BaseModel): Модель ссылки на новое сообщение. Attributes: - type (MessageLinkType): Тип связи. - mid (str): Идентификатор сообщения. + type: Тип связи. + mid: Идентификатор сообщения. """ type: MessageLinkType diff --git a/maxapi/types/subscription.py b/maxapi/types/subscription.py index d9dff88..3ec11e1 100644 --- a/maxapi/types/subscription.py +++ b/maxapi/types/subscription.py @@ -6,9 +6,9 @@ class Subscription(BaseModel): Подписка для вебхука Attributes: - url (str): URL вебхука - time (int): Unix-время, когда была создана подписка - update_types (List[str]): Типы обновлений, на которые подписан бот + url: URL вебхука + time: Unix-время, когда была создана подписка + update_types: Типы обновлений, на которые подписан бот """ url: str diff --git a/maxapi/types/updates/base_update.py b/maxapi/types/updates/base_update.py index bd9edd6..db492a4 100644 --- a/maxapi/types/updates/base_update.py +++ b/maxapi/types/updates/base_update.py @@ -25,8 +25,8 @@ class BaseUpdate( Базовая модель обновления. Attributes: - update_type (UpdateType): Тип обновления. - timestamp (int): Временная метка обновления. + update_type: Тип обновления. + timestamp: Временная метка обновления. """ update_type: UpdateType diff --git a/maxapi/types/updates/bot_added.py b/maxapi/types/updates/bot_added.py index ad2caf8..7eb40a2 100644 --- a/maxapi/types/updates/bot_added.py +++ b/maxapi/types/updates/bot_added.py @@ -13,9 +13,9 @@ class BotAdded(BaseUpdate): Обновление, сигнализирующее о добавлении бота в чат. Attributes: - chat_id (int): Идентификатор чата, куда добавлен бот. - user (User): Объект пользователя-бота. - is_channel (bool): Указывает, был ли бот добавлен в канал или нет + chat_id: Идентификатор чата, куда добавлен бот. + user: Объект пользователя-бота. + is_channel: Указывает, был ли бот добавлен в канал или нет """ chat_id: int diff --git a/maxapi/types/updates/bot_removed.py b/maxapi/types/updates/bot_removed.py index d9c2c5c..9210bd3 100644 --- a/maxapi/types/updates/bot_removed.py +++ b/maxapi/types/updates/bot_removed.py @@ -13,9 +13,9 @@ class BotRemoved(BaseUpdate): Обновление, сигнализирующее об удалении бота из чата. Attributes: - chat_id (int): Идентификатор чата, из которого удалён бот. - user (User): Объект пользователя-бота. - is_channel (bool): Указывает, был ли пользователь добавлен + chat_id: Идентификатор чата, из которого удалён бот. + user: Объект пользователя-бота. + is_channel: Указывает, был ли пользователь добавлен в канал или нет """ diff --git a/maxapi/types/updates/bot_started.py b/maxapi/types/updates/bot_started.py index 27cc265..4ee5368 100644 --- a/maxapi/types/updates/bot_started.py +++ b/maxapi/types/updates/bot_started.py @@ -13,10 +13,10 @@ class BotStarted(BaseUpdate): Обновление, сигнализирующее о первом старте бота. Attributes: - chat_id (int): Идентификатор чата. - user (User): Пользователь (бот). - user_locale (Optional[str]): Локаль пользователя. - payload (Optional[str]): Дополнительные данные. + chat_id: Идентификатор чата. + user: Пользователь (бот). + user_locale: Локаль пользователя. + payload: Дополнительные данные. """ chat_id: int diff --git a/maxapi/types/updates/bot_stopped.py b/maxapi/types/updates/bot_stopped.py index 01ced2f..ea16cd5 100644 --- a/maxapi/types/updates/bot_stopped.py +++ b/maxapi/types/updates/bot_stopped.py @@ -13,10 +13,10 @@ class BotStopped(BaseUpdate): Обновление, сигнализирующее об остановке бота. Attributes: - chat_id (int): Идентификатор чата. - user (User): Пользователь (бот). - user_locale (Optional[str]): Локаль пользователя. - payload (Optional[str]): Дополнительные данные. + chat_id: Идентификатор чата. + user: Пользователь (бот). + user_locale: Локаль пользователя. + payload: Дополнительные данные. """ chat_id: int diff --git a/maxapi/types/updates/chat_title_changed.py b/maxapi/types/updates/chat_title_changed.py index b9ef90e..4a8ead1 100644 --- a/maxapi/types/updates/chat_title_changed.py +++ b/maxapi/types/updates/chat_title_changed.py @@ -13,9 +13,9 @@ class ChatTitleChanged(BaseUpdate): Обновление, сигнализирующее об изменении названия чата. Attributes: - chat_id (Optional[int]): Идентификатор чата. - user (User): Пользователь, совершивший изменение. - title (str): Новое название чата. + chat_id: Идентификатор чата. + user: Пользователь, совершивший изменение. + title: Новое название чата. """ chat_id: int diff --git a/maxapi/types/updates/dialog_cleared.py b/maxapi/types/updates/dialog_cleared.py index 92d9d81..19cb48e 100644 --- a/maxapi/types/updates/dialog_cleared.py +++ b/maxapi/types/updates/dialog_cleared.py @@ -13,9 +13,9 @@ class DialogCleared(BaseUpdate): Обновление, сигнализирующее об очистке диалога с ботом. Attributes: - chat_id (int): Идентификатор чата. - user (User): Пользователь (бот). - user_locale (Optional[str]): Локаль пользователя. + chat_id: Идентификатор чата. + user: Пользователь (бот). + user_locale: Локаль пользователя. """ chat_id: int diff --git a/maxapi/types/updates/dialog_muted.py b/maxapi/types/updates/dialog_muted.py index 5c94020..51af20a 100644 --- a/maxapi/types/updates/dialog_muted.py +++ b/maxapi/types/updates/dialog_muted.py @@ -15,10 +15,10 @@ class DialogMuted(BaseUpdate): Обновление, сигнализирующее об отключении оповещений от бота. Attributes: - chat_id (int): Идентификатор чата. - muted_until (int): Время до включения оповещений от бота. - user (User): Пользователь (бот). - user_locale (Optional[str]): Локаль пользователя. + chat_id: Идентификатор чата. + muted_until: Время до включения оповещений от бота. + user: Пользователь (бот). + user_locale: Локаль пользователя. """ chat_id: int diff --git a/maxapi/types/updates/dialog_removed.py b/maxapi/types/updates/dialog_removed.py index 74567ef..d7ff035 100644 --- a/maxapi/types/updates/dialog_removed.py +++ b/maxapi/types/updates/dialog_removed.py @@ -13,9 +13,9 @@ class DialogRemoved(BaseUpdate): Обновление, сигнализирующее об удалении диалога с ботом. Attributes: - chat_id (int): Идентификатор чата. - user (User): Пользователь (бот). - user_locale (Optional[str]): Локаль пользователя. + chat_id: Идентификатор чата. + user: Пользователь (бот). + user_locale: Локаль пользователя. """ chat_id: int diff --git a/maxapi/types/updates/dialog_unmuted.py b/maxapi/types/updates/dialog_unmuted.py index 59c5037..54dac8d 100644 --- a/maxapi/types/updates/dialog_unmuted.py +++ b/maxapi/types/updates/dialog_unmuted.py @@ -13,9 +13,9 @@ class DialogUnmuted(BaseUpdate): Обновление, сигнализирующее о включении оповещений от бота. Attributes: - chat_id (int): Идентификатор чата. - user (User): Пользователь (бот). - user_locale (Optional[str]): Локаль пользователя. + chat_id: Идентификатор чата. + user: Пользователь (бот). + user_locale: Локаль пользователя. """ chat_id: int diff --git a/maxapi/types/updates/message_callback.py b/maxapi/types/updates/message_callback.py index ca4f85f..fdf9ff6 100644 --- a/maxapi/types/updates/message_callback.py +++ b/maxapi/types/updates/message_callback.py @@ -30,11 +30,11 @@ class MessageForCallback(BaseModel): Модель сообщения для ответа на callback-запрос. Attributes: - text (Optional[str]): Текст сообщения. - attachments (Optional[list[Attachments]]): Список вложений. По умолчанию пустой список. - link (Optional[NewMessageLink]): Связь с другим сообщением. - notify (Optional[bool]): Отправлять ли уведомление. - format (Optional[ParseMode]): Режим разбора текста. + text: Текст сообщения. + attachments: Список вложений. По умолчанию пустой список. + link: Связь с другим сообщением. + notify: Отправлять ли уведомление. + format: Режим разбора текста. """ text: str | None = None @@ -49,11 +49,11 @@ class MessageCallback(BaseUpdate): Обновление с callback-событием сообщения. Attributes: - message (Optional[Message]): Изначальное сообщение, содержащее + message: Изначальное сообщение, содержащее встроенную клавиатуру. Может быть null, если оно было удалено к моменту, когда бот получил это обновление. - user_locale (Optional[str]): Локаль пользователя. - callback (Callback): Объект callback. + user_locale: Локаль пользователя. + callback: Объект callback. """ message: Message | None = None @@ -233,11 +233,11 @@ async def answer( вложения и параметры уведомления. Args: - notification (str): Текст уведомления. - new_text (Optional[str]): Новый текст сообщения. - link (Optional[NewMessageLink]): Связь с другим сообщением. - notify (bool): Отправлять ли уведомление. - format (Optional[ParseMode]): Режим разбора текста. + notification: Текст уведомления. + new_text: Новый текст сообщения. + link: Связь с другим сообщением. + notify: Отправлять ли уведомление. + format: Режим разбора текста. raise_if_not_exists: Выдавать ошибку при отсутствии сообщения, если пытаются изменить его содержимое (new_text/link/format). diff --git a/maxapi/types/updates/message_chat_created.py b/maxapi/types/updates/message_chat_created.py index 416d408..ef66c93 100644 --- a/maxapi/types/updates/message_chat_created.py +++ b/maxapi/types/updates/message_chat_created.py @@ -14,10 +14,10 @@ class MessageChatCreated(BaseUpdate): Событие создания чата. Attributes: - chat (Chat): Объект чата. - title (Optional[str]): Название чата. - message_id (Optional[str]): ID сообщения. - start_payload (Optional[str]): Payload для старта. + chat: Объект чата. + title: Название чата. + message_id: ID сообщения. + start_payload: Payload для старта. """ chat: Chat # type: ignore[assignment] diff --git a/maxapi/types/updates/message_created.py b/maxapi/types/updates/message_created.py index 17326fb..3c420fe 100644 --- a/maxapi/types/updates/message_created.py +++ b/maxapi/types/updates/message_created.py @@ -14,8 +14,8 @@ class MessageCreated(BaseUpdate): Обновление, сигнализирующее о создании нового сообщения. Attributes: - message (Message): Объект сообщения. - user_locale (Optional[str]): Локаль пользователя. + message: Объект сообщения. + user_locale: Локаль пользователя. """ message: Message diff --git a/maxapi/types/updates/message_edited.py b/maxapi/types/updates/message_edited.py index c6a4d38..5cc4ad0 100644 --- a/maxapi/types/updates/message_edited.py +++ b/maxapi/types/updates/message_edited.py @@ -15,7 +15,7 @@ class MessageEdited(BaseUpdate): Обновление, сигнализирующее об изменении сообщения. Attributes: - message (Message): Объект измененного сообщения. + message: Объект измененного сообщения. """ message: Message diff --git a/maxapi/types/updates/message_removed.py b/maxapi/types/updates/message_removed.py index 59fc777..57f633d 100644 --- a/maxapi/types/updates/message_removed.py +++ b/maxapi/types/updates/message_removed.py @@ -9,9 +9,9 @@ class MessageRemoved(BaseUpdate): Класс для обработки события удаления сообщения в чате. Attributes: - message_id (str): Идентификатор удаленного сообщения. Может быть None. - chat_id (int): Идентификатор чата. Может быть None. - user_id (int): Идентификатор пользователя. Может быть None. + message_id: Идентификатор удаленного сообщения. Может быть None. + chat_id: Идентификатор чата. Может быть None. + user_id: Идентификатор пользователя. Может быть None. """ message_id: str diff --git a/maxapi/types/updates/user_added.py b/maxapi/types/updates/user_added.py index 3f7bdfb..9aa233d 100644 --- a/maxapi/types/updates/user_added.py +++ b/maxapi/types/updates/user_added.py @@ -10,11 +10,11 @@ class UserAdded(BaseUpdate): Класс для обработки события добавления пользователя в чат. Attributes: - inviter_id (int): Идентификатор пользователя, добавившего нового + inviter_id: Идентификатор пользователя, добавившего нового участника. Может быть None. - chat_id (int): Идентификатор чата. Может быть None. - user (User): Объект пользователя, добавленного в чат. - is_channel (bool): Указывает, был ли пользователь добавлен + chat_id: Идентификатор чата. Может быть None. + user: Объект пользователя, добавленного в чат. + is_channel: Указывает, был ли пользователь добавлен в канал или нет """ diff --git a/maxapi/types/updates/user_removed.py b/maxapi/types/updates/user_removed.py index 47bf59e..99d09d8 100644 --- a/maxapi/types/updates/user_removed.py +++ b/maxapi/types/updates/user_removed.py @@ -10,12 +10,12 @@ class UserRemoved(BaseUpdate): Класс для обработки события выходе/удаления пользователя из чата. Attributes: - admin_id (Optional[int]): Идентификатор администратора, + admin_id: Идентификатор администратора, удалившего пользователя. None при выходе из чата самим пользователем. - chat_id (int): Идентификатор чата. Может быть None. - user (User): Объект пользователя, удаленного из чата. - is_channel (bool): Указывает, был ли пользователь удален + chat_id: Идентификатор чата. Может быть None. + user: Объект пользователя, удаленного из чата. + is_channel: Указывает, был ли пользователь удален из канала или нет """ diff --git a/maxapi/types/users.py b/maxapi/types/users.py index 1e04a9b..75fb719 100644 --- a/maxapi/types/users.py +++ b/maxapi/types/users.py @@ -20,17 +20,17 @@ class User(FetchableMixin, BaseModel, BotMixin, PeerShortcutMixin): Модель пользователя. Attributes: - user_id (int): Уникальный идентификатор пользователя. - first_name (str): Имя пользователя. - last_name (Optional[str]): Фамилия пользователя. Может быть None. - username (Optional[str]): Имя пользователя (ник). Может быть None. - is_bot (bool): Флаг, указывающий, является ли пользователь ботом. - last_activity_time (int): Временная метка последней активности. - description (Optional[str]): Описание пользователя. Может быть None. - avatar_url (Optional[str]): URL аватара пользователя. Может быть None. - full_avatar_url (Optional[str]): URL полного аватара пользователя. + user_id: Уникальный идентификатор пользователя. + first_name: Имя пользователя. + last_name: Фамилия пользователя. Может быть None. + username: Имя пользователя (ник). Может быть None. + is_bot: Флаг, указывающий, является ли пользователь ботом. + last_activity_time: Временная метка последней активности. + description: Описание пользователя. Может быть None. + avatar_url: URL аватара пользователя. Может быть None. + full_avatar_url: URL полного аватара пользователя. Может быть None. - commands (Optional[List[BotCommand]]): Список команд бота. + commands: Список команд бота. Может быть None. """ @@ -90,8 +90,8 @@ class ChatAdmin(BaseModel): Модель администратора чата. Attributes: - user_id (int): Уникальный идентификатор администратора. - permissions (List[ChatPermission]): Список разрешений администратора. + user_id: Уникальный идентификатор администратора. + permissions: Список разрешений администратора. """ user_id: int diff --git a/maxapi/utils/message.py b/maxapi/utils/message.py index e508ea8..f279259 100644 --- a/maxapi/utils/message.py +++ b/maxapi/utils/message.py @@ -114,10 +114,10 @@ async def process_input_media( Загружает файл вложения и формирует объект AttachmentUpload. Args: - base_connection (BaseConnection): Базовое соединение для + base_connection: Базовое соединение для загрузки файла. - bot (Bot): Экземпляр бота. - att (InputMedia | InputMediaBuffer): Объект вложения + bot: Экземпляр бота. + att: Объект вложения для загрузки. Returns: diff --git a/maxapi/utils/updates.py b/maxapi/utils/updates.py index f692dcf..799b5e9 100644 --- a/maxapi/utils/updates.py +++ b/maxapi/utils/updates.py @@ -235,8 +235,8 @@ async def enrich_event(event_object: UpdateUnion, bot: Bot) -> UpdateUnion: Дополняет объект события данными чата, пользователя и ссылкой на бота. Args: - event_object (UpdateUnion): Событие, которое нужно дополнить. - bot (Bot): Экземпляр бота. + event_object: Событие, которое нужно дополнить. + bot: Экземпляр бота. Returns: UpdateUnion: Обновлённый объект события. From 00bf314cdfd87a89d36e963c11e7467b8ca35fc9 Mon Sep 17 00:00:00 2001 From: "Oleg A." Date: Mon, 27 Apr 2026 12:19:14 +0300 Subject: [PATCH 05/10] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- maxapi/connection/base.py | 2 +- maxapi/filters/command.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/maxapi/connection/base.py b/maxapi/connection/base.py index e040ca7..6c84880 100644 --- a/maxapi/connection/base.py +++ b/maxapi/connection/base.py @@ -98,7 +98,7 @@ def set_api_url(self, url: str) -> None: Установка API URL для запросов Args: - url: Новый API URl + url: Новый API URL """ self.api_url = url diff --git a/maxapi/filters/command.py b/maxapi/filters/command.py index 69bdb2c..25f5a00 100644 --- a/maxapi/filters/command.py +++ b/maxapi/filters/command.py @@ -12,7 +12,7 @@ class CommandsInfo: Attributes: commands: Список команд - info: Информация о их предназначениях + info: Информация об их предназначениях """ commands: list[str] @@ -177,7 +177,7 @@ class CommandStart(Command): ignore_symbol_at_sign: Учитывать символ "@" при отправке команды с упоминанием бота (по умолчанию False). only_with_bot_username: Обязательно упоминать - бота при отправке команды (по умолчанию False).. + бота при отправке команды (по умолчанию False). """ def __init__( From d31608ffe8ebcefb2d13654fe8b8a6ea6fc66643 Mon Sep 17 00:00:00 2001 From: Oleg Date: Mon, 27 Apr 2026 12:31:33 +0300 Subject: [PATCH 06/10] =?UTF-8?q?chore:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E=20(?= =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D1=83=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B8=D0=B7=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maxapi/bot.py | 2 +- maxapi/methods/types/getted_subscriptions.py | 2 +- maxapi/types/updates/message_removed.py | 6 +++--- maxapi/types/updates/user_added.py | 16 +++++++++------- maxapi/types/updates/user_removed.py | 15 +++++++-------- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/maxapi/bot.py b/maxapi/bot.py index bfd07e9..3deb460 100644 --- a/maxapi/bot.py +++ b/maxapi/bot.py @@ -1165,7 +1165,7 @@ async def subscribe_webhook( Args: url: URL HTTP(S)-эндпойнта вашего бота. update_types: Список типов обновлений. - secret: Секрет для Webhook (5-256 симолов). + secret: Секрет для Webhook (5-256 символов). Returns: Subscribed: Результат подписки. diff --git a/maxapi/methods/types/getted_subscriptions.py b/maxapi/methods/types/getted_subscriptions.py index 183c27f..b4c7a47 100644 --- a/maxapi/methods/types/getted_subscriptions.py +++ b/maxapi/methods/types/getted_subscriptions.py @@ -5,7 +5,7 @@ class GettedSubscriptions(BaseModel): """ - Ответ API с отправленным сообщением. + Ответ API, возвращающий списка всех подписок бота. Attributes: subscriptions: Список подписок бота. diff --git a/maxapi/types/updates/message_removed.py b/maxapi/types/updates/message_removed.py index 57f633d..7501264 100644 --- a/maxapi/types/updates/message_removed.py +++ b/maxapi/types/updates/message_removed.py @@ -9,9 +9,9 @@ class MessageRemoved(BaseUpdate): Класс для обработки события удаления сообщения в чате. Attributes: - message_id: Идентификатор удаленного сообщения. Может быть None. - chat_id: Идентификатор чата. Может быть None. - user_id: Идентификатор пользователя. Может быть None. + message_id: Идентификатор удаленного сообщения. + chat_id: Идентификатор чата. + user_id: Идентификатор пользователя. """ message_id: str diff --git a/maxapi/types/updates/user_added.py b/maxapi/types/updates/user_added.py index 9aa233d..9356be1 100644 --- a/maxapi/types/updates/user_added.py +++ b/maxapi/types/updates/user_added.py @@ -10,17 +10,19 @@ class UserAdded(BaseUpdate): Класс для обработки события добавления пользователя в чат. Attributes: - inviter_id: Идентификатор пользователя, добавившего нового - участника. Может быть None. - chat_id: Идентификатор чата. Может быть None. - user: Объект пользователя, добавленного в чат. - is_channel: Указывает, был ли пользователь добавлен - в канал или нет + + chat_id: ID чата, где произошло событие + user: Пользователь, добавленный в чат + inviter_id: Пользователь, который добавил пользователя в чат. + Может быть null, если пользователь присоединился к чату по + ссылке + is_channel: Указывает, был ли пользователь добавлен в канал или + нет """ - inviter_id: int | None = None chat_id: int user: User + inviter_id: int | None = None is_channel: bool update_type: Literal[UpdateType.USER_ADDED] = UpdateType.USER_ADDED diff --git a/maxapi/types/updates/user_removed.py b/maxapi/types/updates/user_removed.py index 99d09d8..9663efb 100644 --- a/maxapi/types/updates/user_removed.py +++ b/maxapi/types/updates/user_removed.py @@ -10,18 +10,17 @@ class UserRemoved(BaseUpdate): Класс для обработки события выходе/удаления пользователя из чата. Attributes: - admin_id: Идентификатор администратора, - удалившего пользователя. None при выходе из чата самим - пользователем. - chat_id: Идентификатор чата. Может быть None. - user: Объект пользователя, удаленного из чата. - is_channel: Указывает, был ли пользователь удален - из канала или нет + chat_id: ID чата, где произошло событие + user: Пользователь, удалённый из чата + admin_id: Администратор, который удалил пользователя из чата. + Может быть null, если пользователь покинул чат сам + is_channel: Указывает, был ли пользователь удалён из канала или + нет """ - admin_id: int | None = None chat_id: int user: User + admin_id: int | None = None is_channel: bool update_type: Literal[UpdateType.USER_REMOVED] = UpdateType.USER_REMOVED From d71fe9c6c079617d91d88383faa57ed12cc341ef Mon Sep 17 00:00:00 2001 From: Oleg Date: Tue, 28 Apr 2026 10:59:57 +0300 Subject: [PATCH 07/10] =?UTF-8?q?fix:=20=D1=83=D1=82=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B0=D1=82=D1=80=D0=B8=D0=B1=D1=83=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=B2=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20None?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maxapi/methods/send_callback.py | 4 ++-- maxapi/methods/types/getted_subscriptions.py | 2 +- maxapi/types/updates/bot_started.py | 4 ++-- maxapi/types/updates/bot_stopped.py | 4 ++-- maxapi/types/updates/message_chat_created.py | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/maxapi/methods/send_callback.py b/maxapi/methods/send_callback.py index 461ef6d..16e83c3 100644 --- a/maxapi/methods/send_callback.py +++ b/maxapi/methods/send_callback.py @@ -22,8 +22,8 @@ class SendCallback(BaseConnection): Attributes: bot: Экземпляр бота. callback_id: Идентификатор callback. - message: Сообщение для отправки. - notification: Текст уведомления. + message: Сообщение для отправки. Может быть None. + notification: Текст уведомления. Может быть None. """ def __init__( diff --git a/maxapi/methods/types/getted_subscriptions.py b/maxapi/methods/types/getted_subscriptions.py index b4c7a47..b17d47a 100644 --- a/maxapi/methods/types/getted_subscriptions.py +++ b/maxapi/methods/types/getted_subscriptions.py @@ -5,7 +5,7 @@ class GettedSubscriptions(BaseModel): """ - Ответ API, возвращающий списка всех подписок бота. + Ответ API, возвращающий список всех подписок бота. Attributes: subscriptions: Список подписок бота. diff --git a/maxapi/types/updates/bot_started.py b/maxapi/types/updates/bot_started.py index 4ee5368..54a4e2c 100644 --- a/maxapi/types/updates/bot_started.py +++ b/maxapi/types/updates/bot_started.py @@ -15,8 +15,8 @@ class BotStarted(BaseUpdate): Attributes: chat_id: Идентификатор чата. user: Пользователь (бот). - user_locale: Локаль пользователя. - payload: Дополнительные данные. + user_locale: Локаль пользователя. Может быть None. + payload: Дополнительные данные. Может быть None. """ chat_id: int diff --git a/maxapi/types/updates/bot_stopped.py b/maxapi/types/updates/bot_stopped.py index ea16cd5..8152850 100644 --- a/maxapi/types/updates/bot_stopped.py +++ b/maxapi/types/updates/bot_stopped.py @@ -15,8 +15,8 @@ class BotStopped(BaseUpdate): Attributes: chat_id: Идентификатор чата. user: Пользователь (бот). - user_locale: Локаль пользователя. - payload: Дополнительные данные. + user_locale: Локаль пользователя. Может быть None. + payload: Дополнительные данные. Может быть None. """ chat_id: int diff --git a/maxapi/types/updates/message_chat_created.py b/maxapi/types/updates/message_chat_created.py index ef66c93..8d5f673 100644 --- a/maxapi/types/updates/message_chat_created.py +++ b/maxapi/types/updates/message_chat_created.py @@ -15,9 +15,9 @@ class MessageChatCreated(BaseUpdate): Attributes: chat: Объект чата. - title: Название чата. - message_id: ID сообщения. - start_payload: Payload для старта. + title: Название чата. Может быть None. + message_id: ID сообщения. Может быть None. + start_payload: Payload для старта. Может быть None. """ chat: Chat # type: ignore[assignment] From d8aba883ffaad7ed496d8d8acb6ff6f16fe59793 Mon Sep 17 00:00:00 2001 From: Oleg Date: Tue, 28 Apr 2026 11:20:29 +0300 Subject: [PATCH 08/10] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D1=83=D0=BF=D0=BE=D0=BC=D0=B8?= =?UTF-8?q?=D0=BD=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BE=20=D0=B7=D0=BD=D0=B0?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D0=B8=20null=20=D0=BD=D0=B0=20None=20?= =?UTF-8?q?=D0=B2=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=B8=20=D0=BA=D0=BE=D0=B4=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/exceptions/dispatcher.md | 2 -- docs/exceptions/download_file.md | 5 +++++ docs/exceptions/max.md | 2 -- maxapi/types/message.py | 2 +- maxapi/types/updates/message_callback.py | 6 +++--- maxapi/types/updates/user_added.py | 3 +-- maxapi/types/updates/user_removed.py | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/exceptions/dispatcher.md b/docs/exceptions/dispatcher.md index e06de5b..87583f7 100644 --- a/docs/exceptions/dispatcher.md +++ b/docs/exceptions/dispatcher.md @@ -6,7 +6,5 @@ members_order: source filters: - "!^_[^_]" - - "!^DownloadFileError$" - - "!^NotAvailableForDownload$" - "^HandlerException$" - "^MiddlewareException$" diff --git a/docs/exceptions/download_file.md b/docs/exceptions/download_file.md index 6edc14e..7e2f1ff 100644 --- a/docs/exceptions/download_file.md +++ b/docs/exceptions/download_file.md @@ -1,5 +1,10 @@ # Download File Exception +::: maxapi.exceptions.DownloadFileError + options: + show_root_heading: false + members_order: source + ::: maxapi.exceptions.NotAvailableForDownload options: show_root_heading: false diff --git a/docs/exceptions/max.md b/docs/exceptions/max.md index 09cc6f7..704bb6b 100644 --- a/docs/exceptions/max.md +++ b/docs/exceptions/max.md @@ -6,8 +6,6 @@ members_order: source filters: - "!^_[^_]" - - "!^DownloadFileError$" - - "!^NotAvailableForDownload$" - "^InvalidToken$" - "^MaxConnection$" - "^MaxUploadFileFailed$" diff --git a/maxapi/types/message.py b/maxapi/types/message.py index b33270e..8d17665 100644 --- a/maxapi/types/message.py +++ b/maxapi/types/message.py @@ -314,7 +314,7 @@ class Message( timestamp: Временная метка сообщения. link: Связанное сообщение. Может быть None. body: Содержимое сообщения. - Текст + вложения. Может быть null, если сообщение содержит + Текст + вложения. Может быть None, если сообщение содержит только пересланное сообщение stat: Статистика сообщения. Может быть None. url: URL сообщения. Может быть None. diff --git a/maxapi/types/updates/message_callback.py b/maxapi/types/updates/message_callback.py index fdf9ff6..4def4f5 100644 --- a/maxapi/types/updates/message_callback.py +++ b/maxapi/types/updates/message_callback.py @@ -50,7 +50,7 @@ class MessageCallback(BaseUpdate): Attributes: message: Изначальное сообщение, содержащее - встроенную клавиатуру. Может быть null, если оно было + встроенную клавиатуру. Может быть None, если оно было удалено к моменту, когда бот получил это обновление. user_locale: Локаль пользователя. callback: Объект callback. @@ -229,8 +229,8 @@ async def answer( raise_if_not_exists: bool = True, ) -> SendedCallback: """ - Отправляет ответ на callback с возможностью изменить текст, - вложения и параметры уведомления. + Отправляет ответ на callback с возможностью изменить текст + и параметры уведомления. Args: notification: Текст уведомления. diff --git a/maxapi/types/updates/user_added.py b/maxapi/types/updates/user_added.py index 9356be1..b1b7132 100644 --- a/maxapi/types/updates/user_added.py +++ b/maxapi/types/updates/user_added.py @@ -10,11 +10,10 @@ class UserAdded(BaseUpdate): Класс для обработки события добавления пользователя в чат. Attributes: - chat_id: ID чата, где произошло событие user: Пользователь, добавленный в чат inviter_id: Пользователь, который добавил пользователя в чат. - Может быть null, если пользователь присоединился к чату по + Может быть None, если пользователь присоединился к чату по ссылке is_channel: Указывает, был ли пользователь добавлен в канал или нет diff --git a/maxapi/types/updates/user_removed.py b/maxapi/types/updates/user_removed.py index 9663efb..0d958fb 100644 --- a/maxapi/types/updates/user_removed.py +++ b/maxapi/types/updates/user_removed.py @@ -13,7 +13,7 @@ class UserRemoved(BaseUpdate): chat_id: ID чата, где произошло событие user: Пользователь, удалённый из чата admin_id: Администратор, который удалил пользователя из чата. - Может быть null, если пользователь покинул чат сам + Может быть None, если пользователь покинул чат сам is_channel: Указывает, был ли пользователь удалён из канала или нет """ From 3172cd4a91e6d2501d5da9d7db1c3412ce404482 Mon Sep 17 00:00:00 2001 From: Oleg Date: Tue, 28 Apr 2026 13:55:29 +0300 Subject: [PATCH 09/10] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=B2=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20Use?= =?UTF-8?q?rRemoved?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maxapi/types/updates/user_removed.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maxapi/types/updates/user_removed.py b/maxapi/types/updates/user_removed.py index 0d958fb..96db008 100644 --- a/maxapi/types/updates/user_removed.py +++ b/maxapi/types/updates/user_removed.py @@ -7,7 +7,7 @@ class UserRemoved(BaseUpdate): """ - Класс для обработки события выходе/удаления пользователя из чата. + Класс для обработки события выхода/удаления пользователя из чата. Attributes: chat_id: ID чата, где произошло событие From 60502862604d8b021252f92d4bc74910c7a41359 Mon Sep 17 00:00:00 2001 From: Oleg Date: Tue, 28 Apr 2026 22:24:49 +0300 Subject: [PATCH 10/10] =?UTF-8?q?fix:=20=D1=83=D1=82=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B2=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D0=B8,=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BF=D0=BE=D1=8F=D1=81=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20marker=20=D0=B8?= =?UTF-8?q?=20count?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maxapi/bot.py | 23 +++++++++++++++-------- maxapi/methods/get_list_admin_chat.py | 3 ++- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/maxapi/bot.py b/maxapi/bot.py index 3deb460..6a5d70b 100644 --- a/maxapi/bot.py +++ b/maxapi/bot.py @@ -648,8 +648,10 @@ async def get_chats( https://dev.max.ru/docs-api/methods/GET/chats Args: - count: Количество чатов (по умолчанию 50) (1-100). - marker: Маркер для пагинации. + count: Количество запрашиваемых чатов от 1 до 100 + (по умолчанию 50). + marker: Указатель на следующую страницу данных. + Для первой страницы передайте None Returns: Chats: Список чатов. @@ -862,7 +864,8 @@ async def get_list_admin_chat( Args: chat_id: ID чата. - marker: Маркер для пагинации. + marker: Указатель на следующую страницу данных. + По умолчанию None. Returns: GettedListAdminChat: Список администраторов. @@ -888,7 +891,8 @@ async def add_list_admin_chat( Args: chat_id: ID чата. admins: Список администраторов. - marker: Маркер для пагинации. + marker: Указатель на следующую страницу данных. + По умолчанию None. Returns: AddedListAdminChat: Результат добавления. @@ -935,10 +939,13 @@ async def get_chat_members( Args: chat_id: ID чата. - user_ids: Список ID участников. - marker: Маркер для пагинации. - count: Количество участников - (по умолчанию 20) (1-100). + user_ids: Список ID пользователей, чье членство нужно + получить. Когда этот параметр передан, параметры count и + marker игнорируются. + marker: Указатель на следующую страницу данных. + По умолчанию None. + count: Количество участников, которых нужно вернуть. + От 1 до 100 (по умолчанию 20). Returns: GettedMembersChat: Список участников. diff --git a/maxapi/methods/get_list_admin_chat.py b/maxapi/methods/get_list_admin_chat.py index 50f6a0c..888b0ae 100644 --- a/maxapi/methods/get_list_admin_chat.py +++ b/maxapi/methods/get_list_admin_chat.py @@ -18,7 +18,8 @@ class GetListAdminChat(BaseConnection): Attributes: bot: Экземпляр бота. chat_id: Идентификатор чата. - marker: Маркер для пагинации. По умолчанию None. + marker: Указатель на следующую страницу данных. + По умолчанию None. """ def __init__(