Задать вопрос

Почему не работает бот с оплатой через ЮКАССА?

Я написал бота, в котором можно участвовать в розыгрышах, но для этого нужно обязательно заплатить, все работает отлично, НО как только дело доходит до оплаты, бот при нажатии кнопки попросту не отвечает на сообщения. Подскажите пожалуйста, сам я не знаю как исправить это(

Код с оплатой___________________________________________________________________________________________________________________

from aiogram import types
from aiogram.dispatcher import FSMContext
from aiogram.types import Message, ContentType

from ..keyboards.payment import payment_ikb
from ..loader import dp
from ..services.api_sqlite import update_userx


@dp.message_handler(commands=["payment"])
async def handle_cmd_start(message: Message, state: FSMContext):
    await message.reply("Здесь, вы можете оплатить вашу постоянную подписку!", reply_markup=payment_ikb())
    await state.finish()


@dp.callback_query_handler(text="pay_sub_now")
async def pay_sub_now(call: types.CallbackQuery):
    await dp.delete_messsage(call.from_user.id, call.message.message_id)
    await dp.send_invoice(chat_id=call.from_user.id,
                          title="Оформление постоянной подписки",
                          description="Оформив эту подписку вы навсегда получите постоянный доступ к розыгрышам",
                          payload="sub_forever",
                          provider_token="YOOTOKEN",
                          currency="RUB",
                          start_parameter="test_bot",
                          prices=[{"label": "Руб", "amount": 20000}]
                          )


@dp.pre_checkout_query_handler()
async def process_pre_checkout_query(pre_checkout_query: types.PreCheckoutQuery):
    await dp.answer_pre_checkout_query(pre_checkout_query.id, ok=True)


@dp.message_handler(content_types=ContentType.SUCCESFUL_PAYMENT)
async def process_pay(message: types.Message):
    if message.successful_payment.invoice_payload == "sub_forever":
        update_userx(message.from_user.id, user_payment=True)
        await dp.send_message(message.from_user.id, "Отлично, вы успешно оплатили вход!")


Ошибки__________________________________________________________________________________________________________________________
Traceback (most recent call last):
  File "C:\Users\lyapi\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiogram\dispatcher\dispatcher.py", line 381, in start_polling
    updates = await self.bot.get_updates(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lyapi\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiogram\bot\bot.py", line 110, in get_updates
    result = await self.request(api.Methods.GET_UPDATES, payload)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lyapi\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiogram\bot\base.py", line 236, in request
    return await api.make_request(await self.get_session(), self.server, self.__token, method, data, files,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lyapi\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiogram\bot\api.py", line 140, in make_request
    return check_result(method, response.content_type, response.status, await response.text())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lyapi\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiogram\bot\api.py", line 119, in check_result
    exceptions.ConflictError.detect(description)
  File "C:\Users\lyapi\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiogram\utils\exceptions.py", line 140, in detect
    raise err(cls.text or description)
aiogram.utils.exceptions.TerminatedByOtherGetUpdates: Terminated by other getupdates request; make sure that only one bot instance is running
  • Вопрос задан
  • 234 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы