Исходный код maxo.routing.updates.message_callback

from typing import TypeAlias

from maxo.enums.update_type import UpdateType
from maxo.errors import AttributeIsEmptyError
from maxo.omit import Omittable, Omitted, is_defined
from maxo.routing.mixins import MessageMethodsFacade
from maxo.routing.mixins.callback import CallbackMethodsFacade
from maxo.routing.updates.base import MaxUpdate
from maxo.types.callback import Callback
from maxo.types.message import Message
from maxo.types.user import User


[документация] class MessageCallback(MaxUpdate, CallbackMethodsFacade, MessageMethodsFacade): """ Вы получите это событие, как только пользователь нажмёт кнопку Args: callback: message: Изначальное сообщение, содержащее встроенную клавиатуру. Может быть `null`, если оно было удалено к моменту, когда бот получил это событие type: user_locale: Текущий язык пользователя в формате IETF BCP 47 """ type = UpdateType.MESSAGE_CALLBACK callback: Callback message: Message | None = None # type: ignore[assignment] """Изначальное сообщение, содержащее встроенную клавиатуру. Может быть `null`, если оно было удалено к моменту, когда бот получил это событие""" user_locale: Omittable[str | None] = Omitted() """Текущий язык пользователя в формате IETF BCP 47""" @property def unsafe_message(self) -> Message: if is_defined(self.message): return self.message raise AttributeIsEmptyError( obj=self, attr="message", ) @property def unsafe_user_locale(self) -> str: if is_defined(self.user_locale): return self.user_locale raise AttributeIsEmptyError( obj=self, attr="user_locale", ) @property def callback_id(self) -> str: return self.callback.callback_id id = callback_id @property def payload(self) -> Omittable[str]: return self.callback.payload @property def user(self) -> User: return self.callback.user from_user = user # Подражание aiogram
CallbackQuery: TypeAlias = MessageCallback # Подражание aiogram