Модели и вспомогательные методы¶
Маппер представляет данные 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 и в сервисном слое.