From 577bfce85e892ba9b544bbb3224d6a9b34f823e1 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Fri, 27 Feb 2026 20:11:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D1=83=D0=B5=D0=BC=20state.output=5Fwait=5Fmessage=20?= =?UTF-8?q?=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20wait=5Fmsg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Qwen-Coder --- bot/handlers/callbacks.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/bot/handlers/callbacks.py b/bot/handlers/callbacks.py index 34c0b23..5618b52 100644 --- a/bot/handlers/callbacks.py +++ b/bot/handlers/callbacks.py @@ -55,28 +55,34 @@ async def menu_callback(update: Update, context: ContextTypes.DEFAULT_TYPE): remaining = int(callback.replace("continue_output_", "")) state = state_manager.get(user_id) logger.info(f"callback continue_output_{remaining}: user_id={user_id}") + # Сначала отвечаем на callback (обязательно!) + await query.answer() + # Потом обновляем состояние state.waiting_for_output_control = False state.continue_output = True # Удаляем сообщение с кнопками try: - await query.delete_message() - except Exception as e: - logger.warning(f"Не удалось удалить сообщение с кнопками: {e}") - await query.answer() + if state.output_wait_message: + await state.output_wait_message.delete() + except: + pass return elif callback == "cancel_output": # Пользователь нажал "Отменить" logger.info(f"callback cancel_output: user_id={user_id}") state = state_manager.get(user_id) + # Сначала отвечаем на callback (обязательно!) + await query.answer() + # Потом обновляем состояние state.waiting_for_output_control = False state.continue_output = False # Удаляем сообщение с кнопками try: - await query.delete_message() - except Exception as e: - logger.warning(f"Не удалось удалить сообщение с кнопками: {e}") - await query.answer() + if state.output_wait_message: + await state.output_wait_message.delete() + except: + pass return elif callback == "preset_menu":