Суть вот в чем имеется бот телеграм хочу реализовать проверку платежа.
1 Бот выдает счет
2 И запускает цикл по проверке
3 Если оплатил человек то все норм не ошибок ничего
4 Если отменил оплату цикл остановиться(долго думал как сделать xD)
Но после того как кто то не важно кто отменил цикл, любой юзер то бот просто перестает выдавать новый счет, выдает ошибку "OverridingEx", я ее стал ловить что бы не вылетало но суть проблемы осталась.
Кто может сказать как решить проблему.
Использую SimpleQIWI
Сам цикл:
P.S. Все что мог прокомментировал
try:
price = 1 #Цена товара
comment = api.bill(price) #Генерирует комментарий платежа и тут сообственна ошибка
keyboard = types.InlineKeyboardMarkup() #Клавиатура
keyboard.add(*[types.InlineKeyboardButton(text='Отмена', callback_data='Отмена_TEST')]) #Клавиатура
bot.send_message(x.message.chat.id, 'Вам выставлен счет:\n'
'Сумма к оплате: 1 RUB\n'
'QIWI кошелек: ' +str(qphone)+'\n'
'Комментарий платежа: \n<b>'+str(comment)+'</b>',reply_markup=keyboard, parse_mode="Html")
api.start() #Запускает проверку
coklend__asd = 2 #Переменная для отмены цикла
a = 1 #Переменная для цикла
while a <= 5: #Ну поняли
if api.check(comment): #Если найдет комментарий то пропустит
bot.send_message(x.message.chat.id, 'Платёж получен!', parse_mode="Html")
break
else:
time.sleep(5) #Спим
a += 1 #Добавляем в переменную
print(a) #Выводим
api.stop()#Остановит проверку
except OverridingEx: #Ловлю ошибку
bot.send_message(x.message.chat.id, 'ERROR')
Вот сама ошибка:
P.S. даже не думайте отправлять читать меня документацию SimpleQIWI, она составляет 1 проект на github и ничего по этому не говорит.
C:\Users\saxar\AppData\Local\Programs\Python\Python37-32\python.exe D:/repos/untitled/MAIN.py
2019-02-04 10:25:27,678 (util.py:65 WorkerThread2) ERROR - TeleBot: "OverridingEx occurred, args=('Overriding bill!',)
Traceback (most recent call last):
File "C:\Users\saxar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telebot\util.py", line 59, in run
task(*args, **kwargs)
File "D:/repos/untitled/MAIN.py", line 220, in inline
comment = api.bill(price)
File "C:\Users\saxar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\SimpleQIWI\Session.py", line 106, in bill
raise OverridingEx('Overriding bill!')
SimpleQIWI.Errors.OverridingEx: Overriding bill!
"
Traceback (most recent call last):
File "D:/repos/untitled/MAIN.py", line 346, in <module>
bot.polling(none_stop=True)
File "C:\Users\saxar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telebot\__init__.py", line 389, in polling
self.__threaded_polling(none_stop, interval, timeout)
File "C:\Users\saxar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telebot\__init__.py", line 413, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\saxar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telebot\util.py", line 108, in raise_exceptions
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
File "C:\Users\saxar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\six.py", line 693, in reraise
raise value
File "C:\Users\saxar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telebot\util.py", line 59, in run
task(*args, **kwargs)
File "D:/repos/untitled/MAIN.py", line 220, in inline
comment = api.bill(price)
File "C:\Users\saxar\AppData\Local\Programs\Python\Python37-32\lib\site-packages\SimpleQIWI\Session.py", line 106, in bill
raise OverridingEx('Overriding bill!')
SimpleQIWI.Errors.OverridingEx: Overriding bill!