Серіалізація об’єкта 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 як значення.