Сериализация об’еки 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 без врахування файлов вы можете використати функцию litegram.utils.serialization.deserialize_telegram_object_to_python().

litegram.utils.serialization.deserialize_telegram_object_to_python(obj: Any, default: DefaultBotProperties | None = None, include_api_method_name: bool = True) Any[исходный код]

Десериализуйте объект Telegram в объект Python, сумисний из JSON, без врахування файлов.

Параметры:
  • obj – Объект Telegram для десериализации.

  • default – Властивости бота по умолчанию нужно передавати только если вы хотите використати собственные значение по умолчанию.

  • include_api_method_name – Чи включати название метода API в результатт.

Результат:

Десериализований объект Telegram.

Для перетворення объекта Telegram в объект Python, враховуючи файлы, вы можете використати функцию litegram.utils.serialization.deserialize_telegram_object(), которая повертае объект litegram.utils.serialization.DeserializedTelegramObject.

litegram.utils.serialization.deserialize_telegram_object(obj: Any, default: DefaultBotProperties | None = None, include_api_method_name: bool = True) DeserializedTelegramObject[исходный код]

Десериализуйте объект Telegram в объект Python, сумисний из JSON.

Параметры:
  • obj – Объект для десериализации.

  • default – Властивости бота по умолчанию нужно передавати только если вы хотите використати собственные значение по умолчанию.

  • include_api_method_name – Чи включати название метода API в результатт.

Результат:

Десериализований объект Telegram.

class litegram.utils.serialization.DeserializedTelegramObject(data: Any, files: dict[str, InputFile])[исходный код]

Предсивляе выгружений объект Telegram.

Параметры:
  • data (Any) – Виванижени дани об’еки Telegram.

  • files (dict[str, InputFile]) – Словник, что содержит имена файлов как ключи и видповидни объекти InputFile как значение.