diff --git a/keel_telegram_bot/bot/reply_keyboard_handler.py b/keel_telegram_bot/bot/reply_keyboard_handler.py index 5e11cf3..1aeb674 100644 --- a/keel_telegram_bot/bot/reply_keyboard_handler.py +++ b/keel_telegram_bot/bot/reply_keyboard_handler.py @@ -89,6 +89,7 @@ async def await_user_selection(self, update: Update, context: CallbackContext, "callback_data": callback_data, }) await send_message(bot, chat_id, text, parse_mode="MARKDOWN", reply_to=message_id, menu=keyboard) + self.awaiting_response[user_id] = self.awaiting_response[user_id]["popup_sent"] = True def await_response(self, user_id: str, options: List[str], callback_data: dict, callback): """ @@ -99,9 +100,11 @@ def await_response(self, user_id: str, options: List[str], callback_data: dict, :param callback_data: data to pass to callback """ if user_id in self.awaiting_response: - raise AssertionError("Already awaiting response to a previous query from user {}".format(user_id)) + if self.awaiting_response.get(user_id, {}).get("popup_sent", False): + raise AssertionError("Already awaiting response to a previous query from user {}".format(user_id)) self.awaiting_response[user_id] = { + "popup_sent": False, "valid_responses": options, "callback": callback, "callback_data": callback_data