From ab4418b503536b0896697b0da31ce4a5bc380df5 Mon Sep 17 00:00:00 2001 From: Capybara-z Date: Mon, 8 Dec 2025 01:59:35 +0300 Subject: [PATCH] Tariff configurator for discount tariffs --- handlers/keys/key_mode/key_discount_mode.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/handlers/keys/key_mode/key_discount_mode.py b/handlers/keys/key_mode/key_discount_mode.py index 3292b1ce..7dcd7818 100644 --- a/handlers/keys/key_mode/key_discount_mode.py +++ b/handlers/keys/key_mode/key_discount_mode.py @@ -77,14 +77,12 @@ async def handle_discount_entry(callback: CallbackQuery, session: AsyncSession): async def handle_discount_tariff_selection(callback: CallbackQuery, session: AsyncSession, state: FSMContext): try: tariff_id = int(callback.data.split("|")[1]) - fake_callback = CallbackQuery.model_construct( - id=callback.id, - from_user=callback.from_user, - chat_instance=callback.chat_instance, - message=callback.message, - data=f"select_tariff_plan|{tariff_id}", - ) - await select_tariff_plan(fake_callback, session=session, state=state) + original_data = callback.data + object.__setattr__(callback, "data", f"select_tariff_plan|{tariff_id}") + try: + await select_tariff_plan(callback, session=session, state=state) + finally: + object.__setattr__(callback, "data", original_data) except Exception as e: logger.error(f"Ошибка при выборе скидочного тарифа: {e}") await callback.message.answer("❌ Произошла ошибка при выборе тарифа.")