From 2a8ec56fc4b74f9093876d5f4eef5b697d222848 Mon Sep 17 00:00:00 2001 From: Boris Kovalskii <36034823+JustYay@users.noreply.github.com> Date: Mon, 15 Sep 2025 21:45:06 +0000 Subject: [PATCH] =?UTF-8?q?FIX=20"=D0=94=D0=B2=D0=BE=D0=B9=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5=20=D0=BF=D1=80=D0=B5=D0=B4=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B2=D1=8B=D0=B1=D1=80=D0=B0=D1=82=D1=8C=20Hel?= =?UTF-8?q?eket"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Убрал один роутер, и выход сразу на страницу пополнения баланса --- handlers/payments/heleket/heleket.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/handlers/payments/heleket/heleket.py b/handlers/payments/heleket/heleket.py index 7523eeb0..d387903f 100644 --- a/handlers/payments/heleket/heleket.py +++ b/handlers/payments/heleket/heleket.py @@ -51,8 +51,6 @@ HELEKET_PAYMENT_METHODS = [ }, ] - -@router.callback_query(F.data == "pay_heleket_crypto") async def process_callback_pay_heleket( callback_query: types.CallbackQuery, state: FSMContext, session: AsyncSession, method_name: str = None ): @@ -61,6 +59,12 @@ async def process_callback_pay_heleket( logger.info(f"User {tg_id} initiated Heleket payment.") await state.clear() + # Если метод не указан, а активен ровно один метод — пропускаем выбор метода + if not method_name: + enabled_methods = [m["name"] for m in HELEKET_PAYMENT_METHODS if m["enable"]] + if len(enabled_methods) == 1: + method_name = enabled_methods[0] + if method_name: method = next((m for m in HELEKET_PAYMENT_METHODS if m["name"] == method_name and m["enable"]), None) if not method: @@ -175,7 +179,7 @@ async def process_method_selection(callback_query: types.CallbackQuery, state: F ) ) builder.row(InlineKeyboardButton(text="Ввести сумму", callback_data=f"heleket_custom_amount|{method_name}")) - builder.row(InlineKeyboardButton(text=BACK, callback_data="pay_heleket_crypto")) + builder.row(InlineKeyboardButton(text=BACK, callback_data="pay")) await edit_or_send_message( target_message=callback_query.message, @@ -193,7 +197,7 @@ async def process_custom_amount_button(callback_query: types.CallbackQuery, stat await state.update_data(heleket_method=method_name) builder = InlineKeyboardBuilder() - builder.row(InlineKeyboardButton(text=BACK, callback_data=f"pay_heleket_{method_name}")) + builder.row(InlineKeyboardButton(text=BACK, callback_data="pay_heleket_crypto")) await edit_or_send_message( target_message=callback_query.message,