Серіалізація об’єкта Telegram¶
Серіалізація¶
Щоб перетворити об’єкт Python у об’єкт Telegram, ви можете використати методи серіалізації pydantic, наприклад:
message_data = { ... } # Some message data as dict
message = Message.model_validate(message_data)
Якщо ви хочете прив’язати серіалізований об’єкт до екземпляра бота, ви можете використати контекст:
message_data = { ... } # Some message data as dict
message = Message.model_validate(message_data, context={"bot": bot})
Десеріалізація¶
У випадках, коли вам потрібно перетворити об’єкт Telegram у об’єкт Python, ви можете використати цей модуль.
Для перетворення об’єкта Telegram у об’єкт Python без врахування файлів ви можете використати функцію aiogram.utils.serialization.deserialize_telegram_object_to_python()
.
- aiogram.utils.serialization.deserialize_telegram_object_to_python(obj: Any, default: DefaultBotProperties | None = None, include_api_method_name: bool = True) Any [source]¶
Десеріалізуйте об’єкт Telegram у об’єкт Python, сумісний із JSON, без врахування файлів.
- Параметри:
obj – Об’єкт Telegram для десеріалізації.
default – Властивості бота за замовчуванням потрібно передавати лише якщо ви хочете використати власні значення за замовчуванням.
include_api_method_name – Чи включати назву методу API в результат.
- Повертає:
Десеріалізований об’єкт Telegram.
Для перетворення об’єкта Telegram у об’єкт Python, враховуючи файли, ви можете використати функцію aiogram.utils.serialization.deserialize_telegram_object()
, яка повертає об’єкт aiogram.utils.serialization.DeserializedTelegramObject
.
- aiogram.utils.serialization.deserialize_telegram_object(obj: Any, default: DefaultBotProperties | None = None, include_api_method_name: bool = True) DeserializedTelegramObject [source]¶
Десеріалізуйте об’єкт Telegram у об’єкт Python, сумісний із JSON.
- Параметри:
obj – Об’єкт для десеріалізації.
default – Властивості бота за замовчуванням потрібно передавати лише якщо ви хочете використати власні значення за замовчуванням.
include_api_method_name – Чи включати назву методу API в результат.
- Повертає:
Десеріалізований об’єкт Telegram.
- class aiogram.utils.serialization.DeserializedTelegramObject(data: Any, files: Dict[str, InputFile])[source]¶
Представляє вивантажений об’єкт Telegram.
- Параметри:
data (Any) – Вивантажені дані об’єкта Telegram.
files (Dict[str, InputFile]) – Словник, що містить імена файлів як ключі та відповідні об’єкти InputFile як значення.