@@ -26,8 +26,8 @@ dp.include_router(profile.router)
|
||||
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:
|
||||
@@ -38,7 +38,6 @@ if STARS_ENABLE:
|
||||
dp.include_router(stars_pay.router)
|
||||
if ROBOKASSA_ENABLE:
|
||||
dp.include_router(robokassa_pay.router)
|
||||
dp.include_router(notifications.router)
|
||||
|
||||
dp.message.middleware(LoggingMiddleware())
|
||||
dp.callback_query.middleware(LoggingMiddleware())
|
||||
|
||||
+5
-2
@@ -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}")
|
||||
|
||||
Reference in New Issue
Block a user