Package: maxapi.types¶
maxapi.types
¶
Command(commands, prefix='/', check_case=False, ignore_symbol_at_sign=False, only_with_bot_username=False)
¶
Bases: BaseFilter
Фильтр сообщений на соответствие команде.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
commands
|
str | List[str]
|
Ожидаемая команда или список команд без префикса. |
required |
prefix
|
str
|
Префикс команды (по умолчанию '/'). |
'/'
|
check_case
|
bool
|
Учитывать регистр при сравнении (по умолчанию False). |
False
|
ignore_symbol_at_sign
|
bool
|
Учитывать символ "@" при отправке команды с упоминанием бота (по умолчанию False). |
False
|
only_with_bot_username
|
bool
|
Обязательно упоминать бота при отправке команды (по умолчанию False). |
False
|
Инициализация фильтра команд.
Source code in maxapi/filters/command.py
parse_command(text, bot_username)
¶
Извлекает команду из текста.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
Текст сообщения. |
required |
bot_username
|
str
|
Имя пользователя бота. |
required |
Returns:
| Type | Description |
|---|---|
str
|
Tuple[str, List[str]]: Кортеж из команды без префикса и списка аргументов, |
List[str]
|
либо ('', []) если команда не найдена или текст не соответствует формату. |
Source code in maxapi/filters/command.py
__call__(event)
async
¶
Проверяет, соответствует ли сообщение заданной(ым) команде(ам).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
event
|
MessageCreated
|
Событие сообщения. |
required |
Returns:
| Type | Description |
|---|---|
Union[Dict[str, List[str]], bool]
|
dict | bool: dict с аргументами команды при совпадении, иначе False. |
Source code in maxapi/filters/command.py
CommandStart(prefix='/', check_case=False, ignore_symbol_at_sign=False, only_with_bot_username=False)
¶
Bases: Command
Фильтр для команды /start.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
prefix
|
str
|
Префикс команды (по умолчанию '/'). |
'/'
|
check_case
|
bool
|
Учитывать регистр (по умолчанию False) |
False
|
ignore_symbol_at_sign
|
bool
|
Учитывать символ "@" при отправке команды с упоминанием бота (по умолчанию False). |
False
|
only_with_bot_username
|
bool
|
Обязательно упоминать бота при отправке команды (по умолчанию False).. |
False
|
Source code in maxapi/filters/command.py
Attachment
¶
Bases: BaseModel
Универсальный класс вложения с типом и полезной нагрузкой.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
AttachmentType
|
Тип вложения. |
payload |
Optional[Union[...]]
|
Полезная нагрузка, зависит от типа вложения. |
ButtonsPayload
¶
Bases: BaseModel
Данные для вложения с кнопками.
Attributes:
| Name | Type | Description |
|---|---|---|
buttons |
List[List[InlineButtonUnion]]
|
Двумерный список inline-кнопок. |
ContactAttachmentPayload
¶
Bases: BaseModel
Данные для контакта.
Attributes:
| Name | Type | Description |
|---|---|---|
vcf_info |
Optional[str]
|
Информация в формате vcf. |
max_info |
Optional[User]
|
Дополнительная информация о пользователе. |
OtherAttachmentPayload
¶
Bases: BaseModel
Данные для общих типов вложений (файлы и т.п.).
Attributes:
| Name | Type | Description |
|---|---|---|
url |
str
|
URL вложения. |
token |
Optional[str]
|
Опциональный токен доступа. |
PhotoAttachmentPayload
¶
Bases: BaseModel
Данные для фото-вложения.
Attributes:
| Name | Type | Description |
|---|---|---|
photo_id |
int
|
Идентификатор фотографии. |
token |
str
|
Токен для доступа к фото. |
url |
str
|
URL фотографии. |
StickerAttachmentPayload
¶
Bases: BaseModel
Данные для вложения типа стикер.
Attributes:
| Name | Type | Description |
|---|---|---|
url |
str
|
URL стикера. |
code |
str
|
Код стикера. |
CallbackButton
¶
Bases: Button
Кнопка с callback-действием.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
ButtonType
|
Тип кнопки (фиксированное значение ButtonType.CALLBACK) |
text |
str
|
Текст, отображаемый на кнопке (наследуется от Button) |
payload |
Optional[str]
|
Дополнительные данные (до 256 символов), передаваемые при нажатии |
intent |
Intent
|
Намерение кнопки (визуальный стиль и поведение) |
ChatButton(**data)
¶
Bases: Button
.. deprecated:: 0.9.14 Используйте другие типы кнопок.
Attributes:
| Name | Type | Description |
|---|---|---|
text |
str
|
Текст кнопки (наследуется от Button) |
chat_title |
str
|
Название чата (до 128 символов) |
chat_description |
Optional[str]
|
Описание чата (до 256 символов) |
start_payload |
Optional[str]
|
Данные, передаваемые при старте чата (до 512 символов) |
uuid |
Optional[int]
|
Уникальный идентификатор чата |
Source code in maxapi/types/attachments/buttons/chat_button.py
LinkButton
¶
Bases: Button
Кнопка с внешней ссылкой.
Attributes:
| Name | Type | Description |
|---|---|---|
url |
Optional[str]
|
Ссылка для перехода (должна содержать http/https) |
MessageButton
¶
Bases: Button
Кнопка для отправки текста
Attributes:
| Name | Type | Description |
|---|---|---|
type |
ButtonType
|
Тип кнопки (определяет её поведение и функционал) |
text |
str
|
Отправляемый текст |
OpenAppButton
¶
Bases: Button
Кнопка для открытия приложения
Attributes:
| Name | Type | Description |
|---|---|---|
text |
str
|
Видимый текст кнопки |
web_app |
Optional[str]
|
Публичное имя (username) бота или ссылка на него, чьё мини-приложение надо запустить |
contact_id |
Optional[int]
|
Идентификатор бота, чьё мини-приложение надо запустить |
payload |
Optional[str]
|
Параметр запуска, который будет передан в initData мини-приложения |
RequestContactButton
¶
RequestGeoLocationButton
¶
Bases: Button
Кнопка запроса геолокации пользователя.
Attributes:
| Name | Type | Description |
|---|---|---|
quick |
bool
|
Если True, запрашивает геолокацию без дополнительного подтверждения пользователя (по умолчанию False) |
PhotoAttachmentRequestPayload
¶
Bases: BaseModel
Полезная нагрузка для запроса фото-вложения.
Attributes:
| Name | Type | Description |
|---|---|---|
url |
Optional[str]
|
URL изображения. |
token |
Optional[str]
|
Токен доступа к изображению. |
photos |
Optional[str]
|
Дополнительные данные о фотографиях. |
BotCommand
¶
Bases: BaseModel
Модель команды бота для сериализации.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Название команды. |
description |
Optional[str]
|
Описание команды. Может быть None. |
Message
¶
Bases: BaseModel, BotMixin
Модель сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
sender |
Optional[User]
|
Отправитель сообщения, может быть None, если сообщение отправлено каналом https://github.com/love-apples/maxapi/discussions/14. |
recipient |
Recipient
|
Получатель сообщения. |
timestamp |
int
|
Временная метка сообщения. |
link |
Optional[LinkedMessage]
|
Связанное сообщение. Может быть None. |
body |
Optional[MessageBody]
|
Содержимое сообщения. Текст + вложения. Может быть null, если сообщение содержит только пересланное сообщение |
stat |
Optional[MessageStat]
|
Статистика сообщения. Может быть None. |
url |
Optional[str]
|
URL сообщения. Может быть None. |
bot |
Optional[Bot]
|
Объект бота, исключается из сериализации. |
answer(text=None, attachments=None, link=None, notify=None, parse_mode=None, sleep_after_input_media=True)
async
¶
Отправляет сообщение (автозаполнение chat_id, user_id).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
Текст ответа. Может быть None. |
None
|
attachments
|
List[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload]
|
Список вложений. Может быть None. |
None
|
link
|
NewMessageLink
|
Связь с другим сообщением. Может быть None. |
None
|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
None
|
parse_mode
|
ParseMode
|
Режим форматирования текста. Может быть None. |
None
|
Returns:
| Type | Description |
|---|---|
Optional['SendedMessage']
|
Optional[SendedMessage]: Результат выполнения метода send_message бота. |
Source code in maxapi/types/message.py
reply(text=None, attachments=None, notify=None, parse_mode=None, sleep_after_input_media=True)
async
¶
Отправляет ответное сообщение (автозаполнение chat_id, user_id, link).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
Текст ответа. Может быть None. |
None
|
attachments
|
List[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload]
|
Список вложений. Может быть None. |
None
|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
None
|
parse_mode
|
ParseMode
|
Режим форматирования текста. Может быть None. |
None
|
sleep_after_input_media
|
Optional[bool]
|
Optional[bool] = True, |
True
|
Returns:
| Type | Description |
|---|---|
Optional['SendedMessage']
|
Optional[SendedMessage]: Результат выполнения метода send_message бота. |
Source code in maxapi/types/message.py
forward(chat_id, user_id=None, attachments=None, notify=None, parse_mode=None, sleep_after_input_media=True)
async
¶
Пересылает отправленное сообщение в указанный чат (автозаполнение link).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата для отправки (обязателен, если не указан user_id) |
required |
user_id
|
int
|
ID пользователя для отправки (обязателен, если не указан chat_id). По умолчанию None |
None
|
attachments
|
List[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload]
|
Список вложений. Может быть None. |
None
|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
None
|
parse_mode
|
ParseMode
|
Режим форматирования текста. Может быть None. |
None
|
sleep_after_input_media
|
Optional[bool]
|
Optional[bool] = True, |
True
|
Returns:
| Type | Description |
|---|---|
Optional['SendedMessage']
|
Optional[SendedMessage]: Результат выполнения метода send_message бота. |
Source code in maxapi/types/message.py
edit(text=None, attachments=None, link=None, notify=True, parse_mode=None, sleep_after_input_media=True)
async
¶
Редактирует текущее сообщение.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
Новый текст сообщения. Может быть None. |
None
|
attachments
|
List[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload]
|
Новые вложения. Может быть None. |
None
|
link
|
NewMessageLink
|
Новая связь с сообщением. Может быть None. |
None
|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
True
|
parse_mode
|
ParseMode
|
Режим форматирования текста. Может быть None. |
None
|
Returns:
| Type | Description |
|---|---|
Optional['EditedMessage']
|
Optional[EditedMessage]: Результат выполнения метода edit_message бота. |
Source code in maxapi/types/message.py
delete()
async
¶
Удаляет текущее сообщение.
Returns:
| Name | Type | Description |
|---|---|---|
DeletedMessage |
'DeletedMessage'
|
Результат выполнения метода delete_message бота. |
Source code in maxapi/types/message.py
pin(notify=True)
async
¶
Закрепляет текущее сообщение в чате.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
True
|
Returns:
| Name | Type | Description |
|---|---|---|
PinnedMessage |
'PinnedMessage'
|
Результат выполнения метода pin_message бота. |
Source code in maxapi/types/message.py
NewMessageLink
¶
Bases: BaseModel
Модель ссылки на новое сообщение.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
MessageLinkType
|
Тип связи. |
mid |
str
|
Идентификатор сообщения. |
BotAdded
¶
BotRemoved
¶
BotStarted
¶
BotStopped
¶
ChatTitleChanged
¶
DialogCleared
¶
DialogMuted
¶
DialogUnmuted
¶
MessageCallback
¶
Bases: Update
Обновление с callback-событием сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
message |
Optional[Message]
|
Изначальное сообщение, содержащее встроенную клавиатуру. Может быть null, если оно было удалено к моменту, когда бот получил это обновление. |
user_locale |
Optional[str]
|
Локаль пользователя. |
callback |
Callback
|
Объект callback. |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], int]
|
tuple[Optional[int], int]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/message_callback.py
answer(notification=None, new_text=None, link=None, notify=True, format=None, raise_if_not_exists=True)
async
¶
Отправляет ответ на callback с возможностью изменить текст, вложения и параметры уведомления.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
notification
|
str
|
Текст уведомления. |
None
|
new_text
|
Optional[str]
|
Новый текст сообщения. |
None
|
link
|
Optional[NewMessageLink]
|
Связь с другим сообщением. |
None
|
notify
|
bool
|
Отправлять ли уведомление. |
True
|
format
|
Optional[ParseMode]
|
Режим разбора текста. |
None
|
raise_if_not_exists
|
bool
|
Выдавать ошибку при отсутствии сообщения, если пытаются изменить его содержимое (new_text/link/format). |
True
|
Returns:
| Name | Type | Description |
|---|---|---|
SendedCallback |
SendedCallback
|
Результат вызова send_callback бота. |
Source code in maxapi/types/updates/message_callback.py
MessageChatCreated(**data)
¶
Bases: Update
.. deprecated:: 0.9.14 Это событие устарело и будет удалено в будущих версиях.
Событие создания чата.
Attributes:
| Name | Type | Description |
|---|---|---|
chat |
Chat
|
Объект чата. |
title |
Optional[str]
|
Название чата. |
message_id |
Optional[str]
|
ID сообщения. |
start_payload |
Optional[str]
|
Payload для старта. |
Source code in maxapi/types/updates/message_chat_created.py
MessageCreated
¶
Bases: Update
Обновление, сигнализирующее о создании нового сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
message |
Message
|
Объект сообщения. |
user_locale |
Optional[str]
|
Локаль пользователя. |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
tuple[Optional[int], Optional[int]]: Идентификатор чата и пользователя. |
Source code in maxapi/types/updates/message_created.py
MessageEdited
¶
Bases: Update
Обновление, сигнализирующее об изменении сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
message |
Message
|
Объект измененного сообщения. |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
Tuple[Optional[int], Optional[int]]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/message_edited.py
MessageRemoved
¶
Bases: Update
Класс для обработки события удаления сообщения в чате.
Attributes:
| Name | Type | Description |
|---|---|---|
message_id |
str
|
Идентификатор удаленного сообщения. Может быть None. |
chat_id |
int
|
Идентификатор чата. Может быть None. |
user_id |
int
|
Идентификатор пользователя. Может быть None. |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
Tuple[Optional[int], Optional[int]]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/message_removed.py
UserAdded
¶
Bases: Update
Класс для обработки события добавления пользователя в чат.
Attributes:
| Name | Type | Description |
|---|---|---|
inviter_id |
int
|
Идентификатор пользователя, добавившего нового участника. Может быть None. |
chat_id |
int
|
Идентификатор чата. Может быть None. |
user |
User
|
Объект пользователя, добавленного в чат. |
is_channel |
bool
|
Указывает, был ли пользователь добавлен в канал или нет |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
Tuple[Optional[int], Optional[int]]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/user_added.py
UserRemoved
¶
Bases: Update
Класс для обработки события выходе/удаления пользователя из чата.
Attributes:
| Name | Type | Description |
|---|---|---|
admin_id |
Optional[int]
|
Идентификатор администратора, удалившего пользователя. None при выходе из чата самим пользователем. |
chat_id |
int
|
Идентификатор чата. Может быть None. |
user |
User
|
Объект пользователя, удаленного из чата. |
is_channel |
bool
|
Указывает, был ли пользователь удален из канала или нет |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
Tuple[Optional[int], Optional[int]]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/user_removed.py
InputMedia(path)
¶
Класс для представления медиафайла.
Attributes:
| Name | Type | Description |
|---|---|---|
path |
str
|
Путь к файлу. |
type |
UploadType
|
Тип файла, определенный на основе содержимого (MIME-типа). |
Инициализирует объект медиафайла.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
Путь к файлу. |
required |
Source code in maxapi/types/input_media.py
__detect_file_type(path)
¶
Определяет тип файла на основе его содержимого (MIME-типа).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
Путь к файлу. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
UploadType |
UploadType
|
Тип файла (VIDEO, IMAGE, AUDIO или FILE). |
Source code in maxapi/types/input_media.py
InputMediaBuffer(buffer, filename=None)
¶
Класс для представления медиафайла из буфера.
Attributes:
| Name | Type | Description |
|---|---|---|
buffer |
bytes
|
Буфер с содержимым файла. |
type |
UploadType
|
Тип файла, определенный по содержимому. |
Инициализирует объект медиафайла из буфера.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
buffer
|
IO
|
Буфер с содержимым файла. |
required |
filename
|
str
|
Название файла (по умолчанию присваивается uuid4). |
None
|
Source code in maxapi/types/input_media.py
attachments
¶
attachment
¶
StickerAttachmentPayload
¶
Bases: BaseModel
Данные для вложения типа стикер.
Attributes:
| Name | Type | Description |
|---|---|---|
url |
str
|
URL стикера. |
code |
str
|
Код стикера. |
PhotoAttachmentPayload
¶
Bases: BaseModel
Данные для фото-вложения.
Attributes:
| Name | Type | Description |
|---|---|---|
photo_id |
int
|
Идентификатор фотографии. |
token |
str
|
Токен для доступа к фото. |
url |
str
|
URL фотографии. |
OtherAttachmentPayload
¶
Bases: BaseModel
Данные для общих типов вложений (файлы и т.п.).
Attributes:
| Name | Type | Description |
|---|---|---|
url |
str
|
URL вложения. |
token |
Optional[str]
|
Опциональный токен доступа. |
ContactAttachmentPayload
¶
Bases: BaseModel
Данные для контакта.
Attributes:
| Name | Type | Description |
|---|---|---|
vcf_info |
Optional[str]
|
Информация в формате vcf. |
max_info |
Optional[User]
|
Дополнительная информация о пользователе. |
ButtonsPayload
¶
Bases: BaseModel
Данные для вложения с кнопками.
Attributes:
| Name | Type | Description |
|---|---|---|
buttons |
List[List[InlineButtonUnion]]
|
Двумерный список inline-кнопок. |
Attachment
¶
Bases: BaseModel
Универсальный класс вложения с типом и полезной нагрузкой.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
AttachmentType
|
Тип вложения. |
payload |
Optional[Union[...]]
|
Полезная нагрузка, зависит от типа вложения. |
audio
¶
Audio
¶
Bases: Attachment
Вложение с типом аудио.
Attributes:
| Name | Type | Description |
|---|---|---|
transcription |
Optional[str]
|
Транскрипция аудио (если есть). |
buttons
¶
attachment_button
¶
AttachmentButton
¶
Bases: Attachment
Модель кнопки вложения для сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
Literal[INLINE_KEYBOARD]
|
Тип кнопки, фиксированное значение 'inline_keyboard' |
payload |
Optional[Union[AttachmentUpload, PhotoAttachmentPayload, OtherAttachmentPayload, ButtonsPayload, ContactAttachmentPayload, StickerAttachmentPayload]]
|
Полезная нагрузка кнопки (массив рядов кнопок) |
button
¶
Button
¶
Bases: BaseModel
Базовая модель кнопки для сообщений.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
ButtonType
|
Тип кнопки (определяет её поведение и функционал) |
text |
str
|
Текст, отображаемый на кнопке (1-64 символа) |
callback_button
¶
CallbackButton
¶
Bases: Button
Кнопка с callback-действием.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
ButtonType
|
Тип кнопки (фиксированное значение ButtonType.CALLBACK) |
text |
str
|
Текст, отображаемый на кнопке (наследуется от Button) |
payload |
Optional[str]
|
Дополнительные данные (до 256 символов), передаваемые при нажатии |
intent |
Intent
|
Намерение кнопки (визуальный стиль и поведение) |
chat_button
¶
ChatButton(**data)
¶
Bases: Button
.. deprecated:: 0.9.14 Используйте другие типы кнопок.
Attributes:
| Name | Type | Description |
|---|---|---|
text |
str
|
Текст кнопки (наследуется от Button) |
chat_title |
str
|
Название чата (до 128 символов) |
chat_description |
Optional[str]
|
Описание чата (до 256 символов) |
start_payload |
Optional[str]
|
Данные, передаваемые при старте чата (до 512 символов) |
uuid |
Optional[int]
|
Уникальный идентификатор чата |
Source code in maxapi/types/attachments/buttons/chat_button.py
link_button
¶
message_button
¶
MessageButton
¶
Bases: Button
Кнопка для отправки текста
Attributes:
| Name | Type | Description |
|---|---|---|
type |
ButtonType
|
Тип кнопки (определяет её поведение и функционал) |
text |
str
|
Отправляемый текст |
open_app_button
¶
OpenAppButton
¶
Bases: Button
Кнопка для открытия приложения
Attributes:
| Name | Type | Description |
|---|---|---|
text |
str
|
Видимый текст кнопки |
web_app |
Optional[str]
|
Публичное имя (username) бота или ссылка на него, чьё мини-приложение надо запустить |
contact_id |
Optional[int]
|
Идентификатор бота, чьё мини-приложение надо запустить |
payload |
Optional[str]
|
Параметр запуска, который будет передан в initData мини-приложения |
request_contact
¶
file
¶
File
¶
Bases: Attachment
Вложение с типом файла.
Attributes:
| Name | Type | Description |
|---|---|---|
filename |
Optional[str]
|
Имя файла. |
size |
Optional[int]
|
Размер файла в байтах. |
image
¶
PhotoAttachmentRequestPayload
¶
Bases: BaseModel
Полезная нагрузка для запроса фото-вложения.
Attributes:
| Name | Type | Description |
|---|---|---|
url |
Optional[str]
|
URL изображения. |
token |
Optional[str]
|
Токен доступа к изображению. |
photos |
Optional[str]
|
Дополнительные данные о фотографиях. |
Image
¶
Bases: Attachment
Вложение с типом изображения.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
Literal['image']
|
Тип вложения, всегда 'image'. |
location
¶
Location
¶
Bases: Attachment
Вложение с типом геолокации.
Attributes:
| Name | Type | Description |
|---|---|---|
latitude |
Optional[float]
|
Широта. |
longitude |
Optional[float]
|
Долгота. |
share
¶
Share
¶
Bases: Attachment
Вложение с типом "share" (поделиться).
Attributes:
| Name | Type | Description |
|---|---|---|
title |
Optional[str]
|
Заголовок для шаринга. |
description |
Optional[str]
|
Описание. |
image_url |
Optional[str]
|
URL изображения для предпросмотра. |
sticker
¶
Sticker
¶
Bases: Attachment
Вложение с типом стикера.
Attributes:
| Name | Type | Description |
|---|---|---|
width |
Optional[int]
|
Ширина стикера в пикселях. |
height |
Optional[int]
|
Высота стикера в пикселях. |
upload
¶
AttachmentPayload
¶
Bases: BaseModel
Полезная нагрузка вложения с токеном.
Attributes:
| Name | Type | Description |
|---|---|---|
token |
str
|
Токен для доступа или идентификации вложения. |
AttachmentUpload
¶
Bases: BaseModel
Вложение с полезной нагрузкой для загрузки на сервера MAX.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
UploadType
|
Тип вложения (например, image, video, audio). |
payload |
AttachmentPayload
|
Полезная нагрузка с токеном. |
video
¶
VideoUrl
¶
Bases: BaseModel
URLs различных разрешений видео.
Attributes:
| Name | Type | Description |
|---|---|---|
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 потока. |
VideoThumbnail
¶
Bases: BaseModel
Миниатюра видео.
Attributes:
| Name | Type | Description |
|---|---|---|
url |
str
|
URL миниатюры. |
Video
¶
Bases: Attachment
Вложение с типом видео.
Attributes:
| Name | Type | Description |
|---|---|---|
token |
Optional[str]
|
Токен видео. |
urls |
Optional[VideoUrl]
|
URLs видео разных разрешений. |
thumbnail |
VideoThumbnail
|
Миниатюра видео. |
width |
Optional[int]
|
Ширина видео. |
height |
Optional[int]
|
Высота видео. |
duration |
Optional[int]
|
Продолжительность видео в секундах. |
bot |
Optional[Any]
|
Ссылка на экземпляр бота, не сериализуется. |
callback
¶
Callback
¶
Bases: BaseModel
Модель callback-запроса.
Attributes:
| Name | Type | Description |
|---|---|---|
timestamp |
int
|
Временная метка callback. |
callback_id |
str
|
Уникальный идентификатор callback. |
payload |
Optional[str]
|
Дополнительные данные callback. Может быть None. |
user |
User
|
Объект пользователя, инициировавшего callback. |
chats
¶
Icon
¶
Bases: BaseModel
Модель иконки чата.
Attributes:
| Name | Type | Description |
|---|---|---|
url |
str
|
URL-адрес иконки. |
Chat
¶
Bases: BaseModel
Модель чата.
Attributes:
| Name | Type | Description |
|---|---|---|
chat_id |
int
|
Уникальный идентификатор чата. |
type |
ChatType
|
Тип чата. |
status |
ChatStatus
|
Статус чата. |
title |
Optional[str]
|
Название чата. |
icon |
Optional[Icon]
|
Иконка чата. Может быть None. |
last_event_time |
int
|
Временная метка последнего события в чате. |
participants_count |
int
|
Количество участников чата. |
owner_id |
Optional[int]
|
Идентификатор владельца чата. |
participants |
Optional[Dict[str, datetime]]
|
Словарь участников с временными метками. Может быть None. |
is_public |
bool
|
Флаг публичности чата. |
link |
Optional[str]
|
Ссылка на чат. Может быть None. |
description |
Optional[str]
|
Описание чата. Может быть None. |
dialog_with_user |
Optional[User]
|
Пользователь, с которым ведется диалог. Может быть None. |
messages_count |
Optional[int]
|
Количество сообщений в чате. Может быть None. |
chat_message_id |
Optional[str]
|
Идентификатор сообщения чата. Может быть None. |
pinned_message |
Optional[Message]
|
Закрепленное сообщение. Может быть None. |
convert_timestamps(value)
classmethod
¶
Преобразовать временные метки участников из миллисекунд в объекты datetime.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
value
|
Optional[Dict[str, int]]
|
Словарь с временными метками в миллисекундах. Может быть None, если участников нет. |
required |
Returns:
| Type | Description |
|---|---|
Optional[Dict[str, Optional[datetime]]]
|
Optional[Dict[str, Optional[datetime]]]: Словарь с временными метками в формате datetime. Может быть None, если входное значение было None. |
Source code in maxapi/types/chats.py
serialize_participants(value, info)
¶
Serialize participants dict: datetime -> milliseconds
Source code in maxapi/types/chats.py
Chats
¶
Bases: BaseModel
Модель списка чатов.
Attributes:
| Name | Type | Description |
|---|---|---|
chats |
List[Chat]
|
Список чатов. По умолчанию пустой. |
marker |
Optional[int]
|
Маркер для пагинации. Может быть None. |
ChatMember
¶
Bases: User
Модель участника чата.
Attributes:
| Name | Type | Description |
|---|---|---|
last_access_time |
Optional[int]
|
Время последнего доступа. Может быть None. |
is_owner |
Optional[bool]
|
Флаг владельца чата. Может быть None. |
is_admin |
Optional[bool]
|
Флаг администратора чата. Может быть None. |
join_time |
Optional[int]
|
Время присоединения к чату. Может быть None. |
permissions |
Optional[List[ChatPermission]]
|
Список разрешений участника. Может быть None. |
alias |
Optional[str]
|
Заголовок, который будет показан на клиент. Может быть None. |
command
¶
BotCommand
¶
Bases: BaseModel
Модель команды бота для сериализации.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Название команды. |
description |
Optional[str]
|
Описание команды. Может быть None. |
input_media
¶
InputMedia(path)
¶
Класс для представления медиафайла.
Attributes:
| Name | Type | Description |
|---|---|---|
path |
str
|
Путь к файлу. |
type |
UploadType
|
Тип файла, определенный на основе содержимого (MIME-типа). |
Инициализирует объект медиафайла.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
Путь к файлу. |
required |
Source code in maxapi/types/input_media.py
__detect_file_type(path)
¶
Определяет тип файла на основе его содержимого (MIME-типа).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
Путь к файлу. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
UploadType |
UploadType
|
Тип файла (VIDEO, IMAGE, AUDIO или FILE). |
Source code in maxapi/types/input_media.py
InputMediaBuffer(buffer, filename=None)
¶
Класс для представления медиафайла из буфера.
Attributes:
| Name | Type | Description |
|---|---|---|
buffer |
bytes
|
Буфер с содержимым файла. |
type |
UploadType
|
Тип файла, определенный по содержимому. |
Инициализирует объект медиафайла из буфера.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
buffer
|
IO
|
Буфер с содержимым файла. |
required |
filename
|
str
|
Название файла (по умолчанию присваивается uuid4). |
None
|
Source code in maxapi/types/input_media.py
message
¶
MarkupElement
¶
Bases: BaseModel
Модель элемента разметки текста.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
TextStyle
|
Тип разметки. |
from_ |
int
|
Начальная позиция разметки в тексте. |
length |
int
|
Длина разметки. |
MarkupLink
¶
Bases: MarkupElement
Модель разметки ссылки.
Attributes:
| Name | Type | Description |
|---|---|---|
url |
Optional[str]
|
URL ссылки. Может быть None. |
Recipient
¶
Bases: BaseModel
Модель получателя сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
user_id |
Optional[int]
|
Идентификатор пользователя. Может быть None. |
chat_id |
Optional[int]
|
Идентификатор чата. Может быть None. |
chat_type |
ChatType
|
Тип получателя (диалог или чат). |
MessageBody
¶
Bases: BaseModel
Модель тела сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
mid |
str
|
Уникальный идентификатор сообщения. |
seq |
int
|
Порядковый номер сообщения. |
text |
str
|
Текст сообщения. Может быть None. |
attachments |
Optional[List[Union[AttachmentButton, Audio, Video, File, Image, Sticker, Share]]]
|
Список вложений. По умолчанию пустой. |
markup |
Optional[List[Union[MarkupLink, MarkupElement]]]
|
Список элементов разметки. По умолчанию пустой. |
MessageStat
¶
Bases: BaseModel
Модель статистики сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
views |
int
|
Количество просмотров сообщения. |
LinkedMessage
¶
Bases: BaseModel
Модель связанного сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
MessageLinkType
|
Тип связи. |
sender |
Optional[User]
|
Отправитель связанного сообщения, может быть None, если связанное сообщение отправлено каналом https://github.com/love-apples/maxapi/issues/11. |
chat_id |
Optional[int]
|
Идентификатор чата. Может быть None. |
message |
MessageBody
|
Тело связанного сообщения. |
Message
¶
Bases: BaseModel, BotMixin
Модель сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
sender |
Optional[User]
|
Отправитель сообщения, может быть None, если сообщение отправлено каналом https://github.com/love-apples/maxapi/discussions/14. |
recipient |
Recipient
|
Получатель сообщения. |
timestamp |
int
|
Временная метка сообщения. |
link |
Optional[LinkedMessage]
|
Связанное сообщение. Может быть None. |
body |
Optional[MessageBody]
|
Содержимое сообщения. Текст + вложения. Может быть null, если сообщение содержит только пересланное сообщение |
stat |
Optional[MessageStat]
|
Статистика сообщения. Может быть None. |
url |
Optional[str]
|
URL сообщения. Может быть None. |
bot |
Optional[Bot]
|
Объект бота, исключается из сериализации. |
answer(text=None, attachments=None, link=None, notify=None, parse_mode=None, sleep_after_input_media=True)
async
¶
Отправляет сообщение (автозаполнение chat_id, user_id).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
Текст ответа. Может быть None. |
None
|
attachments
|
List[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload]
|
Список вложений. Может быть None. |
None
|
link
|
NewMessageLink
|
Связь с другим сообщением. Может быть None. |
None
|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
None
|
parse_mode
|
ParseMode
|
Режим форматирования текста. Может быть None. |
None
|
Returns:
| Type | Description |
|---|---|
Optional['SendedMessage']
|
Optional[SendedMessage]: Результат выполнения метода send_message бота. |
Source code in maxapi/types/message.py
reply(text=None, attachments=None, notify=None, parse_mode=None, sleep_after_input_media=True)
async
¶
Отправляет ответное сообщение (автозаполнение chat_id, user_id, link).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
Текст ответа. Может быть None. |
None
|
attachments
|
List[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload]
|
Список вложений. Может быть None. |
None
|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
None
|
parse_mode
|
ParseMode
|
Режим форматирования текста. Может быть None. |
None
|
sleep_after_input_media
|
Optional[bool]
|
Optional[bool] = True, |
True
|
Returns:
| Type | Description |
|---|---|
Optional['SendedMessage']
|
Optional[SendedMessage]: Результат выполнения метода send_message бота. |
Source code in maxapi/types/message.py
forward(chat_id, user_id=None, attachments=None, notify=None, parse_mode=None, sleep_after_input_media=True)
async
¶
Пересылает отправленное сообщение в указанный чат (автозаполнение link).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_id
|
int
|
ID чата для отправки (обязателен, если не указан user_id) |
required |
user_id
|
int
|
ID пользователя для отправки (обязателен, если не указан chat_id). По умолчанию None |
None
|
attachments
|
List[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload]
|
Список вложений. Может быть None. |
None
|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
None
|
parse_mode
|
ParseMode
|
Режим форматирования текста. Может быть None. |
None
|
sleep_after_input_media
|
Optional[bool]
|
Optional[bool] = True, |
True
|
Returns:
| Type | Description |
|---|---|
Optional['SendedMessage']
|
Optional[SendedMessage]: Результат выполнения метода send_message бота. |
Source code in maxapi/types/message.py
edit(text=None, attachments=None, link=None, notify=True, parse_mode=None, sleep_after_input_media=True)
async
¶
Редактирует текущее сообщение.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
Новый текст сообщения. Может быть None. |
None
|
attachments
|
List[Attachment | InputMedia | InputMediaBuffer | AttachmentUpload]
|
Новые вложения. Может быть None. |
None
|
link
|
NewMessageLink
|
Новая связь с сообщением. Может быть None. |
None
|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
True
|
parse_mode
|
ParseMode
|
Режим форматирования текста. Может быть None. |
None
|
Returns:
| Type | Description |
|---|---|
Optional['EditedMessage']
|
Optional[EditedMessage]: Результат выполнения метода edit_message бота. |
Source code in maxapi/types/message.py
delete()
async
¶
Удаляет текущее сообщение.
Returns:
| Name | Type | Description |
|---|---|---|
DeletedMessage |
'DeletedMessage'
|
Результат выполнения метода delete_message бота. |
Source code in maxapi/types/message.py
pin(notify=True)
async
¶
Закрепляет текущее сообщение в чате.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
notify
|
bool
|
Флаг отправки уведомления. По умолчанию True. |
True
|
Returns:
| Name | Type | Description |
|---|---|---|
PinnedMessage |
'PinnedMessage'
|
Результат выполнения метода pin_message бота. |
Source code in maxapi/types/message.py
Messages
¶
NewMessageLink
¶
Bases: BaseModel
Модель ссылки на новое сообщение.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
MessageLinkType
|
Тип связи. |
mid |
str
|
Идентификатор сообщения. |
subscription
¶
Subscription
¶
Bases: BaseModel
Подписка для вебхука
Attributes:
| Name | Type | Description |
|---|---|---|
url |
str
|
URL вебхука |
time |
int
|
Unix-время, когда была создана подписка |
update_types |
List[str]
|
Типы обновлений, на которые подписан бот |
updates
¶
bot_added
¶
bot_removed
¶
bot_started
¶
bot_stopped
¶
chat_title_changed
¶
dialog_cleared
¶
dialog_muted
¶
dialog_removed
¶
dialog_unmuted
¶
message_callback
¶
MessageForCallback
¶
Bases: BaseModel
Модель сообщения для ответа на callback-запрос.
Attributes:
| Name | Type | Description |
|---|---|---|
text |
Optional[str]
|
Текст сообщения. |
attachments |
Optional[List[Union[AttachmentButton, Audio, Video, File, Image, Sticker, Share]]]
|
Список вложений. |
link |
Optional[NewMessageLink]
|
Связь с другим сообщением. |
notify |
Optional[bool]
|
Отправлять ли уведомление. |
format |
Optional[ParseMode]
|
Режим разбора текста. |
MessageCallback
¶
Bases: Update
Обновление с callback-событием сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
message |
Optional[Message]
|
Изначальное сообщение, содержащее встроенную клавиатуру. Может быть null, если оно было удалено к моменту, когда бот получил это обновление. |
user_locale |
Optional[str]
|
Локаль пользователя. |
callback |
Callback
|
Объект callback. |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], int]
|
tuple[Optional[int], int]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/message_callback.py
answer(notification=None, new_text=None, link=None, notify=True, format=None, raise_if_not_exists=True)
async
¶
Отправляет ответ на callback с возможностью изменить текст, вложения и параметры уведомления.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
notification
|
str
|
Текст уведомления. |
None
|
new_text
|
Optional[str]
|
Новый текст сообщения. |
None
|
link
|
Optional[NewMessageLink]
|
Связь с другим сообщением. |
None
|
notify
|
bool
|
Отправлять ли уведомление. |
True
|
format
|
Optional[ParseMode]
|
Режим разбора текста. |
None
|
raise_if_not_exists
|
bool
|
Выдавать ошибку при отсутствии сообщения, если пытаются изменить его содержимое (new_text/link/format). |
True
|
Returns:
| Name | Type | Description |
|---|---|---|
SendedCallback |
SendedCallback
|
Результат вызова send_callback бота. |
Source code in maxapi/types/updates/message_callback.py
message_chat_created
¶
MessageChatCreated(**data)
¶
Bases: Update
.. deprecated:: 0.9.14 Это событие устарело и будет удалено в будущих версиях.
Событие создания чата.
Attributes:
| Name | Type | Description |
|---|---|---|
chat |
Chat
|
Объект чата. |
title |
Optional[str]
|
Название чата. |
message_id |
Optional[str]
|
ID сообщения. |
start_payload |
Optional[str]
|
Payload для старта. |
Source code in maxapi/types/updates/message_chat_created.py
message_created
¶
MessageCreated
¶
Bases: Update
Обновление, сигнализирующее о создании нового сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
message |
Message
|
Объект сообщения. |
user_locale |
Optional[str]
|
Локаль пользователя. |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
tuple[Optional[int], Optional[int]]: Идентификатор чата и пользователя. |
Source code in maxapi/types/updates/message_created.py
message_edited
¶
MessageEdited
¶
Bases: Update
Обновление, сигнализирующее об изменении сообщения.
Attributes:
| Name | Type | Description |
|---|---|---|
message |
Message
|
Объект измененного сообщения. |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
Tuple[Optional[int], Optional[int]]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/message_edited.py
message_removed
¶
MessageRemoved
¶
Bases: Update
Класс для обработки события удаления сообщения в чате.
Attributes:
| Name | Type | Description |
|---|---|---|
message_id |
str
|
Идентификатор удаленного сообщения. Может быть None. |
chat_id |
int
|
Идентификатор чата. Может быть None. |
user_id |
int
|
Идентификатор пользователя. Может быть None. |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
Tuple[Optional[int], Optional[int]]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/message_removed.py
update
¶
Update
¶
Bases: BaseModel, BotMixin
Базовая модель обновления.
Attributes:
| Name | Type | Description |
|---|---|---|
update_type |
UpdateType
|
Тип обновления. |
timestamp |
int
|
Временная метка обновления. |
user_added
¶
UserAdded
¶
Bases: Update
Класс для обработки события добавления пользователя в чат.
Attributes:
| Name | Type | Description |
|---|---|---|
inviter_id |
int
|
Идентификатор пользователя, добавившего нового участника. Может быть None. |
chat_id |
int
|
Идентификатор чата. Может быть None. |
user |
User
|
Объект пользователя, добавленного в чат. |
is_channel |
bool
|
Указывает, был ли пользователь добавлен в канал или нет |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
Tuple[Optional[int], Optional[int]]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/user_added.py
user_removed
¶
UserRemoved
¶
Bases: Update
Класс для обработки события выходе/удаления пользователя из чата.
Attributes:
| Name | Type | Description |
|---|---|---|
admin_id |
Optional[int]
|
Идентификатор администратора, удалившего пользователя. None при выходе из чата самим пользователем. |
chat_id |
int
|
Идентификатор чата. Может быть None. |
user |
User
|
Объект пользователя, удаленного из чата. |
is_channel |
bool
|
Указывает, был ли пользователь удален из канала или нет |
get_ids()
¶
Возвращает кортеж идентификаторов (chat_id, user_id).
Returns:
| Type | Description |
|---|---|
Tuple[Optional[int], Optional[int]]
|
Tuple[Optional[int], Optional[int]]: Идентификаторы чата и пользователя. |
Source code in maxapi/types/updates/user_removed.py
users
¶
User
¶
Bases: BaseModel
Модель пользователя.
Attributes:
| Name | Type | Description |
|---|---|---|
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 полного аватара пользователя. Может быть None. |
commands |
Optional[List[BotCommand]]
|
Список команд бота. Может быть None. |
ChatAdmin
¶
Bases: BaseModel
Модель администратора чата.
Attributes:
| Name | Type | Description |
|---|---|---|
user_id |
int
|
Уникальный идентификатор администратора. |
permissions |
List[ChatPermission]
|
Список разрешений администратора. |