diff --git a/aiogram/types/base.py b/aiogram/types/base.py index 4514e956..97f67b16 100644 --- a/aiogram/types/base.py +++ b/aiogram/types/base.py @@ -4,6 +4,8 @@ import io import typing from typing import TypeVar +from babel.support import LazyProxy + from .fields import BaseField from ..utils import json from ..utils.mixins import ContextInstanceMixin @@ -163,6 +165,8 @@ class TelegramObject(ContextInstanceMixin, metaclass=MetaTelegramObject): value = self.props[name].export(self) if isinstance(value, TelegramObject): value = value.to_python() + if isinstance(value, LazyProxy): + value = str(value) result[self.props_aliases.get(name, name)] = value return result diff --git a/aiogram/utils/payload.py b/aiogram/utils/payload.py index bbed1967..45643553 100644 --- a/aiogram/utils/payload.py +++ b/aiogram/utils/payload.py @@ -1,6 +1,8 @@ import datetime import secrets +from babel.support import LazyProxy + from aiogram import types from . import json @@ -57,6 +59,8 @@ def prepare_arg(value): return int((now + value).timestamp()) elif isinstance(value, datetime.datetime): return round(value.timestamp()) + elif isinstance(value, LazyProxy): + return str(value) return value