CallbackPayload¶
CallbackPayload
¶
Bases: BaseModel
Базовый класс для сериализации/десериализации callback payload.
Атрибуты
prefix (str): Префикс для payload (используется при pack/unpack) (по умолчанию название класса). separator (str): Разделитель между значениями (по умолчанию '|').
__init_subclass__(**kwargs)
¶
Автоматически проставляет prefix и separator при наследовании.
pack()
¶
Собирает данные payload в строку для передачи в callback payload.
Raises:
| Type | Description |
|---|---|
ValueError
|
Если в значении встречается разделитель или payload слишком длинный. |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Сериализованный payload. |
Source code in maxapi/filters/callback_payload.py
unpack(data)
classmethod
¶
Десериализует payload из строки.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
str
|
Строка payload (из callback payload). |
required |
Raises:
| Type | Description |
|---|---|
ValueError
|
Некорректный prefix или количество аргументов. |
Returns:
| Name | Type | Description |
|---|---|---|
CallbackPayload |
'CallbackPayload'
|
Экземпляр payload с заполненными полями. |
Source code in maxapi/filters/callback_payload.py
attrs()
classmethod
¶
Возвращает список полей для сериализации/десериализации (исключая prefix и separator).
Returns:
| Type | Description |
|---|---|
List[str]
|
List[str]: Имена полей модели. |
Source code in maxapi/filters/callback_payload.py
filter(rule=None)
classmethod
¶
Создаёт PayloadFilter для фильтрации callback-ивентов по payload.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rule
|
Optional[MagicFilter]
|
Фильтр на payload. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
PayloadFilter |
PayloadFilter
|
Экземпляр фильтра для хэндлера. |
Source code in maxapi/filters/callback_payload.py
PayloadFilter(model, rule)
¶
Bases: BaseFilter
Фильтр для MessageCallback по payload.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
Type[CallbackPayload]
|
Класс payload для распаковки. |
required |
rule
|
Optional[MagicFilter]
|
Фильтр (условие) для payload. |
required |
Source code in maxapi/filters/callback_payload.py
__call__(event)
async
¶
Проверяет event на MessageCallback и применяет фильтр к payload.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
event
|
UpdateUnion
|
Обновление/событие. |
required |
Returns:
| Type | Description |
|---|---|
Union[Dict[str, Any], bool]
|
dict | bool: dict с payload при совпадении, иначе False. |