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):