From 00e7c1a1e58b7783e760f0165e761a7adcdfe953 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Tue, 24 Feb 2026 04:40:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B4=D0=B8=D0=BD=D0=B0=D0=BC=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B0=D1=8F=20=D0=BA=D0=BD=D0=BE=D0=BF?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=87=D0=B0=D1=82=D0=B0=20=D1=81=20=D0=98=D0=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Изменения: - Разные callback_data для вкл/выкл (toggle_ai_chat_on/off) - Разный текст кнопки в зависимости от статуса - Telegram теперь правильно обновляет кнопку Теперь кнопка показывает правильное действие Co-authored-by: Qwen-Coder --- bot.py | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/bot.py b/bot.py index 0f2b7cd..1aa3ca0 100644 --- a/bot.py +++ b/bot.py @@ -785,9 +785,14 @@ class MenuBuilder: for item in items: if item.callback == "toggle_ai_chat": - # Меняем текст кнопки - label = f"{ai_status} Чат с ИИ агентом" - button = InlineKeyboardButton(label, callback_data=item.callback) + # Меняем текст кнопки и callback_data в зависимости от статуса + if state.ai_chat_mode: + label = f"{ai_status} Выключить чат с ИИ" + callback = "toggle_ai_chat_off" + else: + label = f"{ai_status} Включить чат с ИИ" + callback = "toggle_ai_chat_on" + button = InlineKeyboardButton(label, callback_data=callback) else: button = InlineKeyboardButton(item.label, callback_data=item.callback) keyboard.append([button]) @@ -1457,6 +1462,23 @@ async def menu_callback(update: Update, context: ContextTypes.DEFAULT_TYPE): reply_markup=menu_builder.get_keyboard("main", user_id=query.from_user.id) ) state.current_menu = "main" + + elif callback in ["toggle_ai_chat_on", "toggle_ai_chat_off"]: + # Переключаем режим (новые callback_data для правильной работы кнопки) + state.ai_chat_mode = not state.ai_chat_mode + + ai_status = "✅ ВКЛЮЧЕН" if state.ai_chat_mode else "❌ ВЫКЛЮЧЕН" + action = "включён" if state.ai_chat_mode else "выключен" + + await query.edit_message_text( + f"🏠 *Главное меню*\n\n" + f"💬 *Чат с ИИ:* {ai_status}\n\n" + f"Режим чата с агентом {action}.\n" + f"Теперь все сообщения будут отправляться в Qwen Code.", + parse_mode="Markdown", + reply_markup=menu_builder.get_keyboard("main", user_id=query.from_user.id) + ) + state.current_menu = "main" async def execute_cli_command(query, command: str):