From 124ec36661ba1932a6615594a3cd99b15a1be99d Mon Sep 17 00:00:00 2001 From: Zakhar Izmaylov Date: Fri, 15 Nov 2024 17:25:42 +0300 Subject: [PATCH 1/3] Fix pay stars --- bot.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bot.py b/bot.py index 4d3b1d8b..c2aa0bbf 100644 --- a/bot.py +++ b/bot.py @@ -26,8 +26,7 @@ dp.include_router(profile.router) dp.include_router(keys.router) dp.include_router(key_management.router) dp.include_router(pay.router) -dp.include_router(donate.router) - +dp.include_router(notifications.router) if YOOKASSA_ENABLE: dp.include_router(yookassa_pay.router) if FREEKASSA_ENABLE: @@ -38,7 +37,7 @@ if STARS_ENABLE: dp.include_router(stars_pay.router) if ROBOKASSA_ENABLE: dp.include_router(robokassa_pay.router) -dp.include_router(notifications.router) +dp.include_router(donate.router) dp.message.middleware(LoggingMiddleware()) dp.callback_query.middleware(LoggingMiddleware()) From b9e9eeb2140578740c65eff6afbedd8702ec54bc Mon Sep 17 00:00:00 2001 From: Zakhar Izmaylov Date: Fri, 15 Nov 2024 17:28:06 +0300 Subject: [PATCH 2/3] Fix pay stars --- handlers/donate.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/handlers/donate.py b/handlers/donate.py index ea40e3ae..c9689c32 100644 --- a/handlers/donate.py +++ b/handlers/donate.py @@ -12,6 +12,7 @@ from config import RUB_TO_XTR class DonateState(StatesGroup): entering_donate_amount = State() waiting_for_donate_confirmation = State() + waiting_for_donate_payment = State() router = Router() @@ -91,6 +92,7 @@ async def process_donate_amount_input(message: types.Message, state: FSMContext) currency="XTR", reply_markup=builder.as_markup(), ) + await state.set_state(DonateState.waiting_for_donate_payment) except Exception as e: logger.error(f"Ошибка при создании доната: {e}") await message.answer("Произошла ошибка при создании доната.") @@ -98,12 +100,12 @@ async def process_donate_amount_input(message: types.Message, state: FSMContext) await message.answer("Некорректная сумма. Пожалуйста, введите сумму еще раз:") -@router.pre_checkout_query() +@router.pre_checkout_query(DonateState.waiting_for_donate_payment) async def on_pre_checkout_query(pre_checkout_query: PreCheckoutQuery): await pre_checkout_query.answer(ok=True) -@router.message(F.successful_payment) +@router.message(F.successful_payment,DonateState.waiting_for_donate_payment) async def on_successful_donate(message: types.Message, state: FSMContext): try: user_id = int(message.from_user.id) @@ -133,6 +135,7 @@ async def on_successful_donate(message: types.Message, state: FSMContext): ) await state.update_data(last_message_id=sent_message.message_id) + await state.clear() except ValueError as e: logger.error(f"Ошибка конвертации user_id или amount: {e}") From da99e358dfc77b24e23a10f7f2241e04cdbbe4df Mon Sep 17 00:00:00 2001 From: Zakhar Izmaylov Date: Fri, 15 Nov 2024 17:28:54 +0300 Subject: [PATCH 3/3] Fix router --- bot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot.py b/bot.py index c2aa0bbf..9cdbe1fc 100644 --- a/bot.py +++ b/bot.py @@ -27,6 +27,7 @@ dp.include_router(keys.router) dp.include_router(key_management.router) dp.include_router(pay.router) dp.include_router(notifications.router) +dp.include_router(donate.router) if YOOKASSA_ENABLE: dp.include_router(yookassa_pay.router) if FREEKASSA_ENABLE: @@ -37,7 +38,6 @@ if STARS_ENABLE: dp.include_router(stars_pay.router) if ROBOKASSA_ENABLE: dp.include_router(robokassa_pay.router) -dp.include_router(donate.router) dp.message.middleware(LoggingMiddleware()) dp.callback_query.middleware(LoggingMiddleware())