fix: 使能够正常删除超过一小时的撤回消息,单独创建定时任务

This commit is contained in:
HYY1116
2025-03-14 00:51:45 +08:00
parent 54e82d1e3c
commit 8d823b5930
2 changed files with 4 additions and 4 deletions

View File

@@ -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:

View File

@@ -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("删除撤回消息失败")
# 如果需要其他存储相关的函数,可以在这里添加