Bot Module¶
Bot(token=None, parse_mode=None, notify=None, disable_link_preview=None, auto_requests=True, default_connection=None, after_input_media_delay=None, auto_check_subscriptions=True, marker_updates=None)
¶
Bases: BaseConnection
Основной класс для работы с API бота.
Предоставляет методы для взаимодействия с чатами, сообщениями, пользователями и другими функциями бота.
Инициализирует экземпляр бота.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
token
|
str
|
Токен доступа к API бота. При None идет получение из под окружения MAX_BOT_TOKEN. |
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
|
auto_check_subscriptions
|
bool
|
Проверка подписок для метода start_polling. |
True
|
marker_updates
|
Optional[int]
|
Маркер для получения обновлений. |
None
|
Source code in maxapi/bot.py
handlers_commands
property
¶
Возвращает список команд из зарегистрированных обработчиков текущего инстанса.
Returns:
| Type | Description |
|---|---|
List[CommandsInfo]
|
List[CommandsInfo]: Список команд |
me
property
¶
Возвращает объект пользователя (бота).
Returns:
| Type | Description |
|---|---|
Optional[User]
|
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, notify=None, parse_mode=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
|
attachments
|
Optional[List[Attachment | InputMedia | InputMediaBuffer]]
|
Вложения. |
None
|
link
|
Optional[NewMessageLink]
|
Данные ссылки сообщения. |
None
|
notify
|
Optional[bool]
|
Флаг уведомления. |
None
|
parse_mode
|
Optional[ParseMode]
|
Режим форматирования текста. |
None
|
disable_link_preview
|
Optional[bool]
|
Флаг генерации превью. |
None
|
Returns:
| Type | Description |
|---|---|
Optional[SendedMessage]
|
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, notify=None, parse_mode=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
|
attachments
|
Optional[List[Attachment | InputMedia | InputMediaBuffer]]
|
Новые вложения. |
None
|
link
|
Optional[NewMessageLink]
|
Новая ссылка. |
None
|
notify
|
Optional[bool]
|
Флаг уведомления. |
None
|
parse_mode
|
Optional[ParseMode]
|
Режим форматирования текста. |
None
|
Returns:
| Type | Description |
|---|---|
Optional[EditedMessage]
|
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 |
|---|---|
Optional[ChatMember]
|
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
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 |