Fix pay stars
This commit is contained in:
+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