Как решить ошибку SimpleQIWI.Errors.OverridingEx: Overriding bill!?

Делаю телеграмм бота, в котором использую SimpleQiwi.
Суть:
1 Бот выдает счет
2 И запускает цикл по проверке
3 Если оплатил человек то все норм не ошибок ничего
4. Если же нажал /start или ёще что-то и отменил платёж, то бот перестаёт выставлять счёта не только одному пользователю, а всем. Но после того как кто то не важно кто отменил цикл, любой юзер то бот просто перестает выдавать новый счет, выдает ошибку "OverridingEx", я ее стал ловить что бы не вылетало но суть проблемы осталась.
Кто может сказать как решить проблему.
Сам цикл:
elif message.text == '100 рублей':
			try:
				mar = types.ReplyKeyboardMarkup(resize_keyboard=True) #keyboard (сумма пополнения)
				item5 = types.KeyboardButton("/start")
				mar.add(item5)
				bot.send_message(message.chat.id, "Внимание! Если вы введёте неверный комментарий, то ваш платёж не будет засчитан. У вас есть 2 минуты на оплату.", reply_markup=mar)
				price = 100                   # Минимальное значение при котором счет будет считаться закрытым
				comment = api.bill(price)   # Создаем счет. Комментарий с которым должен быть платеж генерируется автоматически, но его можно задать

				bot.send_message(message.chat.id, "Переведите %i рублей(-ь) на счет %s с комментарием '%s'" % (price, phone, comment))

				api.start() #начинаю проверку

				while True:

					sleep(120)

					bot.send_message(message.chat.id, "Время вышло, нажмите на /start")
					api.stop() #останавливаю проверку

					break

					if api.check(comment): #если всё окей, то пишу следующее
						bot.send_message(message.chat.id, "Платёж получен!")
						break

					sleep(1)

				api.stop() # останавливаю проверку
			except OverridingEx: #Ловлю ошибку
				bot.send_message(message.chat.id, 'ERROR')


Ошибка:

2020-05-15 01:20:45,594 (util.py:68 WorkerThread2) ERROR - TeleBot: "OverridingEx occurred, args=('Overriding bill!',)
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\util.py", line 62, in run
task(*args, **kwargs)
File "bot.py", line 75, in first
comment = api.bill(price) # ▒▒▒▒▒▒▒ ▒▒▒▒. ▒▒▒▒▒▒▒▒▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒, ▒▒ ▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒
File "C:\Users\user\AppData\Local\Programs\Python\Python38-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 "bot.py", line 93, in
bot.polling(none_stop=True)
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\__init__.py", line 415, in polling
self.__threaded_polling(none_stop, interval, timeout)
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\__init__.py", line 439, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\util.py", line 111, in raise_exceptions
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
File "C:\Users\user\AppData\Roaming\Python\Python38\site-packages\six.py", line 703, in reraise
raise value
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\telebot\util.py", line 62, in run
task(*args, **kwargs)
File "bot.py", line 75, in first
comment = api.bill(price) # ▒▒▒▒▒▒▒ ▒▒▒▒. ▒▒▒▒▒▒▒▒▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒, ▒▒ ▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\SimpleQIWI\Session.py", line 106, in bill
raise OverridingEx('Overriding bill!')
SimpleQIWI.Errors.OverridingEx: Overriding bill!


Прошу помочь. Если что-то непонятно в коде - пишите, обьясню.
  • Вопрос задан
  • 401 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы