From 8d823b59305c5452545fa705d19aed8628903eea Mon Sep 17 00:00:00 2001 From: HYY1116 Date: Fri, 14 Mar 2025 00:51:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BD=BF=E8=83=BD=E5=A4=9F=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E5=88=A0=E9=99=A4=E8=B6=85=E8=BF=87=E4=B8=80=E5=B0=8F?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E6=92=A4=E5=9B=9E=E6=B6=88=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=E5=88=9B=E5=BB=BA=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/chat/__init__.py | 3 +++ src/plugins/chat/storage.py | 5 +---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/chat/__init__.py b/src/plugins/chat/__init__.py index 6462d7e2f..807df2ab3 100644 --- a/src/plugins/chat/__init__.py +++ b/src/plugins/chat/__init__.py @@ -148,6 +148,9 @@ async def generate_schedule_task(): await bot_schedule.initialize() if not bot_schedule.enable_output: bot_schedule.print_schedule() + +@scheduler.scheduled_job("interval", seconds=3600, id="remove_recalled_message") + async def remove_recalled_message(self) -> None: """删除撤回消息""" try: diff --git a/src/plugins/chat/storage.py b/src/plugins/chat/storage.py index acd7db89a..e0156788d 100644 --- a/src/plugins/chat/storage.py +++ b/src/plugins/chat/storage.py @@ -42,10 +42,7 @@ class MessageStorage: async def remove_recalled_message(self, time: str) -> None: """删除撤回消息""" try: - for msg in db.recalled_messages.distinct("message_id", {"time": time}): - if msg.time < (time-300): - db.recalled_messages.delete_one({"message_id": msg.message - }) + db.recalled_messages.delete_many({"time": {"$lt": time-300}}) except Exception: logger.exception("删除撤回消息失败") # 如果需要其他存储相关的函数,可以在这里添加