Пишу бота в вк
Есть функция, проверяющая правильность ответа:
def verification(self, mess):
while True:
for self.event in self.longpoll.listen():
if self.event.type == VkEventType.MESSAGE_NEW:
if self.event.from_user and self.event.to_me:
response = self.event.text.upper()
if response == self.answer.upper(): #Если ответ верный, то
self.send_msg('Верно! Следующий вопрос..') #Отправляется сообщение
self.send_msg(self.new_message(mess), self.new_keyboard(mess)) #Отправляется новый вопрос
elif response == self.listOfAnswer[0] or response == self.listOfAnswer[1] or response == self.listOfAnswer[2] or response == self.listOfAnswer[3]: #Если ответ неверный
self.send_msg('Не правильно! Следующий вопрос..') #Отправляется сообщения
self.send_msg(self.new_message(mess), self.new_keyboard(mess)) #Отправляется новый вопрос
elif response == 'ВЕРНУТЬСЯ К СПИСКУ ПРЕДМЕТОВ': #Если пользователь хочет выйти, то сначала вызывается break и программа выходит из цикла for, далее выходит из цикла while и функция завершается
break
break
Так вот в чем проблема - когда пользователь ответил на вопрос (верно/неверно) и нажал на "вернуться к списку предметов", то сначала ему выводится сообщение Error (которое я указал в функции проверки нового сообщения в блоке else). Выводится оно столько раз, сколько раз пользователь верно/неверно ответил на вопрос. Если этот блок else убрать, то у меня выводится ошибка "Нельзя отправить пустое сообщение пользователю