# -*- coding: utf-8 -*- """ Команда !info – показывает краткую справку по всем командам бота. Не зависит от комнаты – всегда одна и та же. """ import logging from core.commands.base import Command logger = logging.getLogger(__name__) class InfoCommand(Command): name = "!info" aliases = ["/info", "!справка_краткая"] async def execute(self, msg, args: str, user_jid: str, room_jid: str = None): """ Отправляет пользователю краткую справку. Параметр room_jid игнорируется. """ help_text = ( "📚 **Управление знаниями:**\n" "!learn [--global] [--title \"Название\"] – включить обучение (следующий файл/текст/ссылка добавятся в БЗ)\n" "!stop_learn – выключить обучение\n" "!clear – очистить ЛИЧНУЮ БЗ (в группе – БЗ комнаты)\n" "!global_clear – очистить ГЛОБАЛЬНУЮ БЗ (админ)\n" "!global_remove \"Название\" – удалить глобальный документ по названию (админ)\n" "!kb – полный список документов в БЗ (личные и глобальные; в группе – документы комнаты)\n" "!reset – сбросить историю диалога\n\n" "💬 **Диалог:**\n" "!stats – статистика работы бота (админ)\n" "!status – статус сервисов (админ)\n" "!clean – очистить временные файлы (админ)\n\n" "🔬 **Экспертные команды:**\n" "!summary – суммаризация последнего документа\n" "!metrics – извлечь KPI из всей базы знаний (кэш 5 мин)\n\n" "🌐 **Обучение по ссылкам (в режиме `!learn`):**\n" "https://example.com [--recursive] [--depth N] [--max M] – рекурсивная загрузка сайта\n\n" "❓ **Справка:**\n" "!help – подробный список команд с синтаксисом\n" "!help команда – справка по конкретной команде" ) reply = msg.reply(help_text) if reply: reply.send() def get_help(self) -> str: return "Показывает краткую справку. Использование: `!info`"