Перейти к содержанию

Модели и вспомогательные методы

Маппер представляет данные Pydantic-моделями. Большинство доменных объектов наследуют BaseMaxObject; некоторые модели привязаны к создавшему их MaxApi. Если вы попытаетесь вызвать какой-то метод у модели не привязанной к MaxApi, то сгенерируется исключение RuntimeError.

Message

Message уже знает идентификаторы сообщения и чата:

@dispatcher.message()
async def handle(message: Message) -> None:
    await message.reply("Ответ")
    await message.react("👍")
    await message.read()

Также доступны answer, forward, pin, edit, delete, unreact и get_reactions.

Chat

Chat умеет отправлять сообщения, получать историю и отдельные сообщения, приглашать и удалять участников, менять настройки, отзывать invite link, выходить из чата и удалять его. Методы is_dialog(), is_group() и is_channel() определяют тип.

Contact

Contact умеет добавлять и удалять себя из контактов и получать ID прямого чата.

Вложения и остальные модели

Публичный пакет моделей экспортирует file/photo/video/voice attachments, реакции, read state, профиль и privacy, участников, папки, сессии, опросы, регистрационные данные и связанные enum.

Используйте методы моделей, когда объект уже привязан к клиенту; используйте MaxApi для работы по исходным ID и в сервисном слое.