diff --git a/bot.py b/bot.py index 9310c94..d729070 100644 --- a/bot.py +++ b/bot.py @@ -100,9 +100,16 @@ async def handle_text_message(update: Update, context: ContextTypes.DEFAULT_TYPE user_id = update.effective_user.id text = update.message.text.strip() state = state_manager.get(user_id) - + logger.info(f"handle_text_message: user_id={user_id}, ai_chat_mode={state.ai_chat_mode}, text={text[:50]}") + # ПРОВЕРКА: если бот ждёт нажатия кнопки для продолжения вывода — прерываем ожидание + if state.waiting_for_output_control: + logger.info(f"Пользователь {user_id} отправил команду во время ожидания кнопки — прерываем вывод") + state.waiting_for_output_control = False + state.continue_output = False # Отменяем текущий вывод + # Не отвечаем на старое сообщение с кнопками — просто продолжаем обработку команды + # Проверка: не в режиме ввода данных сервера ли мы if state.waiting_for_input: await handle_server_input(update, text)