diff --git a/bots/commands/learn.py b/bots/commands/learn.py index 672a063..39c41e8 100644 --- a/bots/commands/learn.py +++ b/bots/commands/learn.py @@ -3,10 +3,8 @@ Команды управления режимом обучения: !learn, !stop_learn, !global_learn. Поддерживают флаги --global и --title. -Изменения для групповой работы: -- В групповом чате !learn не нужен для файлов (они индексируются автоматически), - но может использоваться для ссылок (если пользователь хочет добавить ссылку в БЗ комнаты). -- Режим обучения в комнате сохраняется с привязкой к комнате. +В новой архитектуре команды только управляют состоянием learning_mode, +индексация выполняется через RAG-сервер. """ import logging @@ -33,44 +31,25 @@ class LearnCommand(Command): if user_jid not in self.bot.config.admin_jids: reply = msg.reply("⛔ У вас нет прав на глобальное обучение.") if reply: - reply.send() # исправлено - else: - logger.error("Не удалось отправить сообщение о недостатке прав на глобальное обучение") + reply.send() return if room_jid: - # В групповом чате – режим обучения для комнаты (только ссылки, файлы и так автоматом) mode = "room" - # Сохраняем режим с указанием комнаты self.bot.learning_mode[user_jid] = (mode, room_jid) if title: reply = msg.reply(f"🎓 Режим обучения ВКЛЮЧЁН для КОМНАТНОЙ БЗ (--title \"{title}\"). При следующей ссылке будет использован заголовок.") - if reply: - reply.send() # исправлено - else: - logger.error("Не удалось отправить подтверждение обучения для комнаты с title") else: reply = msg.reply(f"🎓 Режим обучения ВКЛЮЧЁН для КОМНАТНОЙ БЗ. Теперь можно отправить ссылку – она добавится в БЗ комнаты.") - if reply: - reply.send() # исправлено - else: - logger.error("Не удалось отправить подтверждение обучения для комнаты") else: - # Личный чат mode = "global" if is_global else "personal" - self.bot.learning_mode[user_jid] = (mode, None) # храним кортеж для единообразия + self.bot.learning_mode[user_jid] = (mode, None) if title: reply = msg.reply(f"🎓 Режим обучения ВКЛЮЧЁН для {'ГЛОБАЛЬНОЙ' if is_global else 'ЛИЧНОЙ'} БЗ (--title \"{title}\").") - if reply: - reply.send() # исправлено - else: - logger.error("Не удалось отправить подтверждение обучения с title") else: reply = msg.reply(f"🎓 Режим обучения ВКЛЮЧЁН для {'ГЛОБАЛЬНОЙ' if is_global else 'ЛИЧНОЙ'} БЗ.") - if reply: - reply.send() # исправлено - else: - logger.error("Не удалось отправить подтверждение обучения") + if reply: + reply.send() def get_help(self) -> str: return "Включает режим обучения (следующий файл/ссылка добавятся в БЗ). В личном чате – личная/глобальная, в групповом – комнатная. Флаги: --global (только личный), --title \"Название\"." @@ -85,9 +64,7 @@ class StopLearnCommand(Command): self.bot.learning_mode.pop(user_jid, None) reply = msg.reply("✅ Режим обучения ВЫКЛЮЧЕН.") if reply: - reply.send() # исправлено - else: - logger.error("Не удалось отправить подтверждение выключения обучения") + reply.send() def get_help(self) -> str: return "Выключает режим обучения." @@ -106,23 +83,17 @@ class GlobalLearnCommand(Command): if not self.check_permission(user_jid): reply = msg.reply("⛔ Нет прав.") if reply: - reply.send() # исправлено - else: - logger.error("Не удалось отправить сообщение о недостатке прав (learn)") + reply.send() return if room_jid: reply = msg.reply("⚠️ Команда !global_learn работает только в личном чате.") if reply: - reply.send() # исправлено - else: - logger.error("Не удалось отправить сообщение об ограничении !global_learn") + reply.send() return self.bot.learning_mode[user_jid] = ("global", None) reply = msg.reply("🌐 Режим ГЛОБАЛЬНОГО обучения включён.") if reply: - reply.send() # исправлено - else: - logger.error("Не удалось отправить подтверждение глобального обучения") + reply.send() def get_help(self) -> str: return "Включает режим глобального обучения (админ, только в личном чате)." \ No newline at end of file