Add new file

This commit is contained in:
Markov Andrey
2026-06-30 09:05:33 +00:00
parent 1c1844c535
commit 6b58dc26f9

51
core/commands/info.py Normal file
View File

@@ -0,0 +1,51 @@
# -*- 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() # <-- УБРАЛИ await
else:
logger.error("Не удалось отправить справку info")
def get_help(self) -> str:
return "Показывает краткую справку. Использование: `!info`"