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
|
Токен доступа к API бота. При None идет получение из под окружения MAX_BOT_TOKEN. |
None
|
format
|
Optional[TextFormat]
|
Форматирование по умолчанию. |
None
|
parse_mode
|
Optional[ParseMode]
|
Форматирование по умолчанию. |
None
|
notify
|
Optional[bool]
|
Отключение уведомлений при отправке сообщений. |
None
|
disable_link_preview
|
Optional[bool]
|
Если false, сервер не будет генерировать превью для ссылок в тексте сообщений. |
None
|
auto_requests
|
bool
|
Автоматическое заполнение chat/from_user через API (по умолчанию True). |
True
|
default_connection
|
Optional[DefaultConnectionProperties]
|
Настройки соединения. |
None
|
after_input_media_delay
|
Optional[float]
|
Задержка после загрузки файла. |
None
|
after_upload_attempts
|
Optional[int]
|
Количество попыток отправки сообщения после загрузки медиа (по умолчанию 5). |
None
|
after_upload_retry_delay
|
Optional[float]
|
Задержка между попытками отправки после загрузки медиа в секундах (по умолчанию 2.0). |
None
|
after_upload_give_up_timeout
|
Optional[float]
|
Максимальное общее время ожидания готовности медиа в секундах. None — без ограничения по времени, только по количеству попыток (по умолчанию None). |
None
|
auto_check_subscriptions
|
bool
|
Проверка подписок для метода start_polling. |
True
|
marker_updates
|
Optional[int]
|
Маркер для получения обновлений. |
None
|
Source code in maxapi/bot.py
95 96 97 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 | |
handlers_commands
property
¶
Возвращает список команд из зарегистрированных обработчиков текущего инстанса.
Returns:
| Type | Description |
|---|---|
list[CommandsInfo]
|
List[CommandsInfo]: Список команд |
me
property
¶
Возвращает объект пользователя (бота).
Returns:
| Type | Description |
|---|---|
User | None
|
User | None: Объект пользователя или None. |
set_marker_updates(marker_updates)
¶
Устанавливает маркер для получения обновлений.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
marker_updates
|
int
|
Маркер для получения обновлений. |
required |
close_session()
async
¶
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
|
Optional[int]
|
ID чата для отправки (если не user_id). |
None
|
user_id
|
Optional[int]
|
ID пользователя (если не chat_id). |
None
|
text
|
Optional[str]
|
Текст сообщения. |
None
|
link
|
Optional[NewMessageLink]
|
Данные ссылки сообщения. |
None
|
notify
|
Optional[bool]
|
Флаг уведомления. |
None
|
format
|
Optional[TextFormat]
|
Режим форматирования текста. |
None
|
parse_mode
|
Optional[ParseMode]
|
Режим форматирования текста. |
None
|
disable_link_preview
|
Optional[bool]
|
Флаг генерации превью. |
None
|
sleep_after_input_media
|
Optional[bool]
|
Нужно ли делать задержку после загрузки вложений. |
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
|
Optional[int]
|
ID чата. |
None
|
action
|
SenderAction
|
Тип действия. |
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
|
Optional[str]
|
Новый текст. |
None
|
link
|
Optional[NewMessageLink]
|
Новая ссылка. |
None
|
notify
|
Optional[bool]
|
Флаг уведомления. |
None
|
format
|
Optional[TextFormat]
|
Режим форматирования текста. |
None
|
parse_mode
|
Optional[ParseMode]
|
Режим форматирования текста. |
None
|
sleep_after_input_media
|
Optional[bool]
|
Нужно ли делать задержку после загрузки вложений. |
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
|
Optional[int]
|
ID чата. |
None
|
message_ids
|
Optional[List[str]]
|
ID сообщений. |
None
|
from_time
|
Optional[datetime | int]
|
Начало периода. |
None
|
to_time
|
Optional[datetime | int]
|
Конец периода. |
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
|
Optional[str]
|
Новое имя бота (1–64 символа). |
None
|
last_name
|
str
|
Второе имя бота (1–64 символа). |
None
|
description
|
Optional[str]
|
Новое описание бота (1–16000 символов). |
None
|
commands
|
Optional[List[BotCommand]]
|
Список команд бота (до 32 элементов). Передайте пустой список, чтобы удалить все команды. |
None
|
photo
|
Optional[PhotoAttachmentRequestPayload]
|
Новое фото бота. |
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
|
Optional[int]
|
Количество чатов (по умолчанию 50) (1-100). |
None
|
marker
|
Optional[int]
|
Маркер для пагинации. |
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
|
Optional[PhotoAttachmentRequestPayload]
|
Иконка. |
None
|
title
|
Optional[str]
|
Новый заголовок (1-200 символов). |
None
|
pin
|
Optional[str]
|
ID сообщения для закрепления. |
None
|
notify
|
Optional[bool]
|
Флаг уведомления. |
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
|
Optional[MessageForCallback]
|
Сообщение для отправки. |
None
|
notification
|
Optional[str]
|
Текст уведомления. |
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
|
Optional[bool]
|
Флаг уведомления. |
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)
async
¶
Получает список администраторов чата.
https://dev.max.ru/docs-api/methods/GET/chats/-chatId-/members/admins
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата. |
required |
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
|
Optional[int]
|
Маркер для пагинации. |
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
|
Optional[List[int]]
|
Список ID участников. |
None
|
marker
|
Optional[int]
|
Маркер для пагинации. |
None
|
count
|
Optional[int]
|
Количество участников (по умолчанию 20) (1-100). |
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
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
|
Optional[List[UpdateType]]
|
Список типов обновлений. |
None
|
secret
|
Optional[str]
|
Секрет для 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 |