Add new file
This commit is contained in:
36
bots/commands/clear.py
Normal file
36
bots/commands/clear.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Команда !clear – очистка базы знаний (личной, комнатной, глобальной).
|
||||
Использует RAGClient.
|
||||
"""
|
||||
|
||||
import logging
|
||||
from core.commands.base import Command
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ClearCommand(Command):
|
||||
name = "!clear"
|
||||
aliases = ["/clear"]
|
||||
|
||||
async def execute(self, msg, args: str, user_jid: str, room_jid: str = None):
|
||||
"""
|
||||
Очищает базу знаний:
|
||||
- В личном чате – личную БЗ пользователя.
|
||||
- В групповом чате – БЗ комнаты (требует прав администратора бота).
|
||||
"""
|
||||
try:
|
||||
result = await self.bot.rag_client.clear(user_jid, room_jid, is_global=False)
|
||||
if result.get('status') == 'ok':
|
||||
reply = msg.reply("🗑 База знаний очищена.")
|
||||
else:
|
||||
reply = msg.reply(f"❌ Ошибка очистки: {result}")
|
||||
except Exception as e:
|
||||
logger.exception(f"Ошибка в !clear: {e}")
|
||||
reply = msg.reply(f"❌ Ошибка: {e}")
|
||||
if reply:
|
||||
reply.send()
|
||||
|
||||
def get_help(self) -> str:
|
||||
return "Очищает базу знаний (личную/комнатную)."
|
||||
Reference in New Issue
Block a user