From d3998fe379f6bae8a55fba2fa200c43959564126 Mon Sep 17 00:00:00 2001 From: Vladless Date: Fri, 18 Jul 2025 20:52:56 +0300 Subject: [PATCH] fix state in middleware subs --- middlewares/subscription.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/middlewares/subscription.py b/middlewares/subscription.py index c353bb29..45beef5d 100644 --- a/middlewares/subscription.py +++ b/middlewares/subscription.py @@ -58,18 +58,20 @@ class SubscriptionMiddleware(BaseMiddleware): if from_user.is_bot: logger.warning(f"[SubMiddleware] Пропуск сохранения is_bot=True для {from_user.id}") else: - user_data = { - "tg_id": from_user.id, - "username": from_user.username, - "first_name": from_user.first_name, - "last_name": from_user.last_name, - "language_code": from_user.language_code, - "is_bot": from_user.is_bot, - } - await state.update_data( - original_text=original_text, - user_data=user_data, - ) + state_data = await state.get_data() + if "original_text" not in state_data or "user_data" not in state_data: + user_data = { + "tg_id": from_user.id, + "username": from_user.username, + "first_name": from_user.first_name, + "last_name": from_user.last_name, + "language_code": from_user.language_code, + "is_bot": from_user.is_bot, + } + await state.update_data( + original_text=original_text, + user_data=user_data, + ) return await self._ask_to_subscribe(message) except Exception as e: