Bot Module¶
Bot(token=None, *, format=None, parse_mode=None, notify=None, disable_link_preview=None, auto_requests=True, default_connection=None, after_input_media_delay=None, after_upload_attempts=None, after_upload_retry_delay=None, after_upload_give_up_timeout=None, auto_check_subscriptions=True, marker_updates=None)
¶
Bases: BaseConnection
Основной класс для работы с API бота.
Предоставляет методы для взаимодействия с чатами, сообщениями, пользователями и другими функциями бота.
Инициализирует экземпляр бота.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
token
|
str | None
|
Токен доступа к API бота. При None идет получение из под окружения MAX_BOT_TOKEN. |
None
|
format
|
TextFormat | None
|
Форматирование по умолчанию. |
None
|
parse_mode
|
ParseMode | None
|
Форматирование по умолчанию. |
None
|
notify
|
bool | None
|
Отключение уведомлений при отправке сообщений. |
None
|
disable_link_preview
|
bool | None
|
Если false, сервер не будет генерировать превью для ссылок в тексте сообщений. |
None
|
auto_requests
|
bool
|
Автоматическое заполнение chat/from_user через API (по умолчанию True). При False дополнительные запросы для их заполнения не выполняются: в event.chat/event.from_user могут оставаться lazy ref с ручным await .fetch(), либо эти поля уже могут быть заполнены данными из payload события. |
True
|
default_connection
|
DefaultConnectionProperties | None
|
Настройки соединения. |
None
|
after_input_media_delay
|
float | None
|
Задержка после загрузки файла. |
None
|
after_upload_attempts
|
int | None
|
Количество попыток отправки сообщения после загрузки медиа (по умолчанию 5). |
None
|
after_upload_retry_delay
|
float | None
|
Задержка между попытками отправки после загрузки медиа в секундах (по умолчанию 2.0). |
None
|
after_upload_give_up_timeout
|
float | None
|
Максимальное общее время ожидания готовности медиа в секундах. None — без ограничения по времени, только по количеству попыток (по умолчанию None). |
None
|
auto_check_subscriptions
|
bool
|
Проверка подписок для метода start_polling. |
True
|
marker_updates
|
int | None
|
Маркер для получения обновлений. |
None
|
Source code in maxapi/bot.py
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | |
handlers_commands
property
¶
Возвращает список команд из зарегистрированных обработчиков текущего инстанса.
Returns:
| Type | Description |
|---|---|
list[CommandsInfo]
|
List[CommandsInfo]: Список команд |
me
property
writable
¶
Возвращает объект пользователя (бота).
Returns:
| Type | Description |
|---|---|
User | None
|
User | None: Объект пользователя или None. |
set_marker_updates(marker_updates)
¶
Устанавливает маркер для получения обновлений.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
marker_updates
|
int
|
Маркер для получения обновлений. |
required |
resolve_format(format, parse_mode=None)
¶
Определяет режим форматирования.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
format
|
TextFormat | None
|
Локальный режим. |
required |
parse_mode
|
ParseMode | None
|
Устаревший локальный режим. |
None
|
Returns:
| Type | Description |
|---|---|
TextFormat | None
|
Optional[TextFormat]: Итоговый режим. |
Source code in maxapi/bot.py
close_session()
async
¶
ensure_session()
async
¶
Возвращает активную HTTP-сессию, создавая новую при необходимости.
Returns:
| Name | Type | Description |
|---|---|---|
ClientSession |
ClientSession
|
Активная aiohttp-сессия. |
Source code in maxapi/bot.py
send_message(chat_id=None, user_id=None, text=None, attachments=None, link=None, format=None, parse_mode=None, *, notify=None, disable_link_preview=None, sleep_after_input_media=True)
async
¶
Отправляет сообщение в чат или пользователю.
https://dev.max.ru/docs-api/methods/POST/messages
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int | None
|
ID чата для отправки (если не user_id). |
None
|
user_id
|
int | None
|
ID пользователя (если не chat_id). |
None
|
text
|
str | None
|
Текст сообщения. |
None
|
attachments
|
list[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload] | list[Attachments] | None
|
Вложения. |
None
|
link
|
NewMessageLink | None
|
Данные ссылки сообщения. |
None
|
notify
|
bool | None
|
Флаг уведомления. |
None
|
format
|
TextFormat | None
|
Режим форматирования текста. |
None
|
parse_mode
|
ParseMode | None
|
Режим форматирования текста. |
None
|
disable_link_preview
|
bool | None
|
Флаг генерации превью. |
None
|
sleep_after_input_media
|
bool | None
|
Нужно ли делать задержку после загрузки вложений. |
True
|
Returns:
| Type | Description |
|---|---|
SendedMessage | None
|
Optional[SendedMessage]: Отправленное сообщение или ошибка. |
Source code in maxapi/bot.py
send_action(chat_id=None, action=SenderAction.TYPING_ON)
async
¶
Отправляет действие в чат (например, "печатает").
https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/actions
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int | None
|
ID чата. |
None
|
action
|
SenderAction | str
|
Тип действия. |
TYPING_ON
|
Returns:
| Name | Type | Description |
|---|---|---|
SendedAction |
SendedAction
|
Результат отправки действия. |
Source code in maxapi/bot.py
edit_message(message_id, text=None, attachments=None, link=None, format=None, parse_mode=None, *, notify=None, sleep_after_input_media=True)
async
¶
Редактирует существующее сообщение.
https://dev.max.ru/docs-api/methods/PUT/messages
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message_id
|
str
|
ID сообщения. |
required |
text
|
str | None
|
Новый текст. |
None
|
attachments
|
list[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload] | list[Attachments] | None
|
Новые вложения. |
None
|
link
|
NewMessageLink | None
|
Новая ссылка. |
None
|
notify
|
bool | None
|
Флаг уведомления. |
None
|
format
|
TextFormat | None
|
Режим форматирования текста. |
None
|
parse_mode
|
ParseMode | None
|
Режим форматирования текста. |
None
|
sleep_after_input_media
|
bool | None
|
Нужно ли делать задержку после загрузки вложений. |
True
|
Returns:
| Type | Description |
|---|---|
EditedMessage | None
|
Optional[EditedMessage]: Отредактированное сообщение или ошибка. |
Source code in maxapi/bot.py
delete_message(message_id)
async
¶
Удаляет сообщение.
https://dev.max.ru/docs-api/methods/DELETE/messages
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message_id
|
str
|
ID сообщения. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
DeletedMessage |
DeletedMessage
|
Результат удаления. |
Source code in maxapi/bot.py
delete_chat(chat_id)
async
¶
Удаляет чат.
https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
DeletedChat |
DeletedChat
|
Результат удаления чата. |
Source code in maxapi/bot.py
get_messages(chat_id=None, message_ids=None, from_time=None, to_time=None, count=50)
async
¶
Получает сообщения из чата.
https://dev.max.ru/docs-api/methods/GET/messages
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int | None
|
ID чата. |
None
|
message_ids
|
list[str] | None
|
ID сообщений. |
None
|
from_time
|
datetime | int | None
|
Начало периода. |
None
|
to_time
|
datetime | int | None
|
Конец периода. |
None
|
count
|
int
|
Количество сообщений. |
50
|
Returns:
| Name | Type | Description |
|---|---|---|
Messages |
Messages
|
Список сообщений. |
Source code in maxapi/bot.py
get_message(message_id)
async
¶
Получает одно сообщение по ID.
https://dev.max.ru/docs-api/methods/GET/messages/-messageId-
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message_id
|
str
|
ID сообщения. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Message |
Message
|
Объект сообщения. |
Source code in maxapi/bot.py
get_me()
async
¶
Получает информацию о текущем боте.
https://dev.max.ru/docs-api/methods/GET/me
Returns:
| Name | Type | Description |
|---|---|---|
User |
User
|
Объект пользователя бота. |
get_pin_message(chat_id)
async
¶
Получает закрепленное сообщение в чате.
https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/pin
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
GettedPin |
GettedPin
|
Закрепленное сообщение. |
Source code in maxapi/bot.py
change_info(first_name=None, last_name=None, description=None, commands=None, photo=None)
async
¶
Изменяет данные текущего бота (PATCH /me).
.. deprecated:: 0.9.8 Этот метод отсутствует в официальной swagger-спецификации API MAX. Использование не рекомендуется.
https://dev.max.ru/docs-api/methods/PATCH/me
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
first_name
|
str | None
|
Новое имя бота (1–64 символа). |
None
|
last_name
|
str | None
|
Второе имя бота (1–64 символа). |
None
|
description
|
str | None
|
Новое описание бота (1–16000 символов). |
None
|
commands
|
list[BotCommand] | None
|
Список команд бота (до 32 элементов). Передайте пустой список, чтобы удалить все команды. |
None
|
photo
|
PhotoAttachmentRequestPayload | None
|
Новое фото бота. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
User |
User
|
Объект с обновлённой информацией о боте. |
Source code in maxapi/bot.py
get_chats(count=None, marker=None)
async
¶
Получает список чатов бота.
https://dev.max.ru/docs-api/methods/GET/chats
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
count
|
int | None
|
Количество запрашиваемых чатов от 1 до 100 (по умолчанию 50). |
None
|
marker
|
int | None
|
Указатель на следующую страницу данных. Для первой страницы передайте None |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
Chats |
Chats
|
Список чатов. |
Source code in maxapi/bot.py
get_chat_by_link(link)
async
¶
Получает чат по ссылке.
https://dev.max.ru/docs-api/methods/GET/chats/-chatLink-
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
link
|
str
|
Ссылка на чат. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Chat |
Chat
|
Объект чата. |
Source code in maxapi/bot.py
get_chat_by_id(id)
async
¶
Получает чат по ID.
https://dev.max.ru/docs-api/methods/GET/chats/-chatId-
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
ID чата. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Chat |
Chat
|
Объект чата. |
Source code in maxapi/bot.py
edit_chat(chat_id, icon=None, title=None, pin=None, *, notify=None)
async
¶
Редактирует информацию о чате.
https://dev.max.ru/docs-api/methods/PATCH/chats/-chatId-
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
icon
|
PhotoAttachmentRequestPayload | None
|
Иконка. |
None
|
title
|
str | None
|
Новый заголовок (1-200 символов). |
None
|
pin
|
str | None
|
ID сообщения для закрепления. |
None
|
notify
|
bool | None
|
Флаг уведомления. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
Chat |
Chat
|
Обновленный объект чата. |
Source code in maxapi/bot.py
get_video(video_token)
async
¶
Получает видео по токену.
https://dev.max.ru/docs-api/methods/GET/videos/-videoToken-
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
video_token
|
str
|
Токен видео. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Video |
Video
|
Объект видео. |
Source code in maxapi/bot.py
send_callback(callback_id, message=None, notification=None)
async
¶
Отправляет callback ответ.
https://dev.max.ru/docs-api/methods/POST/answers
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
callback_id
|
str
|
ID callback. |
required |
message
|
MessageForCallback | None
|
Сообщение для отправки. |
None
|
notification
|
str | None
|
Текст уведомления. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
SendedCallback |
SendedCallback
|
Результат отправки callback. |
Source code in maxapi/bot.py
pin_message(chat_id, message_id, *, notify=None)
async
¶
Закрепляет сообщение в чате.
https://dev.max.ru/docs-api/methods/PUT/chats/-chatId-/pin
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
message_id
|
str
|
ID сообщения. |
required |
notify
|
bool | None
|
Флаг уведомления. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
PinnedMessage |
PinnedMessage
|
Закрепленное сообщение. |
Source code in maxapi/bot.py
delete_pin_message(chat_id)
async
¶
Удаляет закрепленное сообщение в чате.
https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/pin
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
DeletedPinMessage |
DeletedPinMessage
|
Результат удаления. |
Source code in maxapi/bot.py
get_me_from_chat(chat_id)
async
¶
Получает информацию о боте в чате.
https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/me
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
ChatMember |
ChatMember
|
Информация о боте в чате. |
Source code in maxapi/bot.py
delete_me_from_chat(chat_id)
async
¶
Удаляет бота из чата.
https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/me
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
DeletedBotFromChat |
DeletedBotFromChat
|
Результат удаления. |
Source code in maxapi/bot.py
get_list_admin_chat(chat_id, marker=None)
async
¶
Получает список администраторов чата.
https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
marker
|
int | None
|
Указатель на следующую страницу данных. По умолчанию None. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
GettedListAdminChat |
GettedListAdminChat
|
Список администраторов. |
Source code in maxapi/bot.py
add_list_admin_chat(chat_id, admins, marker=None)
async
¶
Добавляет администраторов в чат.
https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members/admins
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
admins
|
list[ChatAdmin]
|
Список администраторов. |
required |
marker
|
int | None
|
Указатель на следующую страницу данных. По умолчанию None. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
AddedListAdminChat |
AddedListAdminChat
|
Результат добавления. |
Source code in maxapi/bot.py
remove_admin(chat_id, user_id)
async
¶
Удаляет администратора из чата.
https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members/admins/-userId-
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
user_id
|
int
|
ID пользователя. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
RemovedAdmin |
RemovedAdmin
|
Результат удаления. |
Source code in maxapi/bot.py
get_chat_members(chat_id, user_ids=None, marker=None, count=None)
async
¶
Получает участников чата.
https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
user_ids
|
list[int] | None
|
Список ID пользователей, чье членство нужно получить. Когда этот параметр передан, параметры count и marker игнорируются. |
None
|
marker
|
int | None
|
Указатель на следующую страницу данных. По умолчанию None. |
None
|
count
|
int | None
|
Количество участников, которых нужно вернуть. От 1 до 100 (по умолчанию 20). |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
GettedMembersChat |
GettedMembersChat
|
Список участников. |
Source code in maxapi/bot.py
get_chat_member(chat_id, user_id)
async
¶
Получает участника чата.
https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
user_id
|
int
|
ID участника. |
required |
Returns:
| Type | Description |
|---|---|
ChatMember | None
|
Optional[ChatMember]: Участник. |
Source code in maxapi/bot.py
add_chat_members(chat_id, user_ids)
async
¶
Добавляет участников в чат.
https://dev.max.ru/docs-api/methods/POST/chats/-chatId-/members
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
user_ids
|
list[int]
|
Список ID пользователей. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
AddedMembersChat |
AddedMembersChat
|
Результат добавления. |
Source code in maxapi/bot.py
kick_chat_member(chat_id, user_id, *, block=False)
async
¶
Исключает участника из чата.
https://dev.max.ru/docs-api/methods/DELETE/chats/-chatId-/members
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
user_id
|
int
|
ID пользователя. |
required |
block
|
bool
|
Блокировать пользователя (по умолчанию False). |
False
|
Returns:
| Name | Type | Description |
|---|---|---|
RemovedMemberChat |
RemovedMemberChat
|
Результат исключения. |
Source code in maxapi/bot.py
get_updates(limit=None, timeout=None, marker=None, types=None)
async
¶
Получает обновления для бота.
https://dev.max.ru/docs-api/methods/GET/updates
Returns:
| Name | Type | Description |
|---|---|---|
Dict |
dict
|
Список обновлений. |
Source code in maxapi/bot.py
get_upload_url(type)
async
¶
Получает URL для загрузки файлов.
https://dev.max.ru/docs-api/methods/POST/uploads
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type
|
UploadType
|
Тип загружаемого файла. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
GettedUploadUrl |
GettedUploadUrl
|
URL для загрузки. |
Source code in maxapi/bot.py
upload_media(media)
async
¶
Загружает медиа и возвращает вложение с токеном.
Упрощает пользовательский сценарий получения token для
attachments без ручного вызова низкоуровневых upload-методов.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
media
|
InputMedia | InputMediaBuffer
|
Медиафайл для загрузки. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
AttachmentUpload |
AttachmentUpload
|
Вложение типа upload с payload.token. |
Source code in maxapi/bot.py
download_file(url, destination, *, chunk_size=DOWNLOAD_CHUNK_SIZE)
async
¶
Скачивает файл по URL и сохраняет на диск.
URL можно получить из payload вложения:
- Изображение: attachment.payload.url
- Видео: attachment.urls.mp4_720 (или другое разрешение)
- Аудио/Файл: attachment.payload.url
- Стикер: attachment.payload.url
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
url
|
str
|
URL файла для скачивания. |
required |
destination
|
str | Path
|
Путь к директории для сохранения. |
required |
chunk_size
|
int
|
Размер чанка (по умолчанию 64 КБ). |
DOWNLOAD_CHUNK_SIZE
|
Returns:
| Name | Type | Description |
|---|---|---|
Path |
Path
|
Полный путь к скачанному файлу. |
Source code in maxapi/bot.py
set_my_commands(*commands)
async
¶
Устанавливает список команд бота.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*commands
|
BotCommand
|
Список команд. |
()
|
Returns:
| Name | Type | Description |
|---|---|---|
User |
User
|
Обновленная информация о боте. |
Source code in maxapi/bot.py
get_subscriptions()
async
¶
Получает список всех подписок.
https://dev.max.ru/docs-api/methods/GET/subscriptions
Returns:
| Name | Type | Description |
|---|---|---|
GettedSubscriptions |
GettedSubscriptions
|
Объект со списком подписок. |
Source code in maxapi/bot.py
subscribe_webhook(url, update_types=None, secret=None)
async
¶
Подписывает бота на получение обновлений через WebHook.
https://dev.max.ru/docs-api/methods/POST/subscriptions
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
url
|
str
|
URL HTTP(S)-эндпойнта вашего бота. |
required |
update_types
|
list[UpdateType] | None
|
Список типов обновлений. |
None
|
secret
|
str | None
|
Секрет для Webhook (5-256 символов). |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
Subscribed |
Subscribed
|
Результат подписки. |
Source code in maxapi/bot.py
unsubscribe_webhook(url)
async
¶
Отписывает бота от получения обновлений через WebHook.
https://dev.max.ru/docs-api/methods/DELETE/subscriptions
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
url
|
str
|
URL HTTP(S)-эндпойнта вашего бота. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Unsubscribed |
Unsubscribed
|
Результат отписки. |
Source code in maxapi/bot.py
delete_webhook()
async
¶
Удаляет все подписки на Webhook.
https://dev.max.ru/docs-api/methods/DELETE/subscriptions
Returns:
| Type | Description |
|---|---|
None
|
None |