diff --git a/telebot/__init__.py b/telebot/__init__.py index 8f9b60b..32ed84d 100644 --- a/telebot/__init__.py +++ b/telebot/__init__.py @@ -1153,13 +1153,17 @@ class TeleBot: while i < len(new_messages): message = new_messages[i] chat_id = message.chat.id + was_poped = False if chat_id in self.next_step_handlers.keys(): handlers = self.next_step_handlers[chat_id] - for handler in handlers: - self._exec_task(handler["callback"], message, *handler["args"], **handler["kwargs"]) + if (handlers): + for handler in handlers: + self._exec_task(handler["callback"], message, *handler["args"], **handler["kwargs"]) + new_messages.pop(i) # removing message that detects with next_step_handler + was_poped = True self.next_step_handlers.pop(chat_id, None) - new_messages.pop(i) # removing message that detects with next_step_handler - i += 1 + if (not was_poped): + i += 1 @staticmethod def _build_handler_dict(handler, **filters):