diff --git a/core/commands/other.py b/core/commands/other.py new file mode 100644 index 0000000..05de5a4 --- /dev/null +++ b/core/commands/other.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +""" +Прочие команды: !reset – сброс истории диалога. +Сбрасывает историю в зависимости от контекста: в личном чате – личную историю, +в групповом – историю комнаты. +""" + +import logging +from core.commands.base import Command + +logger = logging.getLogger(__name__) + + +class ResetCommand(Command): + name = "!reset" + aliases = ["/reset", "!сброс", "/сброс"] + + async def execute(self, msg, args: str, user_jid: str, room_jid: str = None): + if room_jid: + await self.bot.db.clear_room_history(room_jid) + reply = msg.reply(f"🧹 История диалога комнаты {room_jid} сброшена.") + if reply: + reply.send() # исправлено + else: + logger.error("Не удалось отправить подтверждение сброса истории комнаты") + else: + await self.bot.db.clear_user_history(user_jid) + reply = msg.reply("🧹 Ваша личная история диалога сброшена.") + if reply: + reply.send() # исправлено + else: + logger.error("Не удалось отправить подтверждение сброса личной истории") + + def get_help(self) -> str: + return "Сбрасывает историю диалога (личную или комнатную)." \ No newline at end of file