fix&feat:修复回应所有戳一戳的问题;尝试增加不回答已撤回消息的功能(但似乎目前不起作用)

This commit is contained in:
HYY1116
2025-03-13 20:33:39 +08:00
parent 31b29cb3dd
commit 4489952777
4 changed files with 99 additions and 13 deletions

View File

@@ -24,4 +24,28 @@ class MessageStorage:
except Exception:
logger.exception("存储消息失败")
async def store_recalled_message(self, message_id: str, time: str, chat_stream:ChatStream) -> None:
"""存储撤回消息到数据库"""
if "recalled_messages" not in db.list_collection_names():
db.create_collection("recalled_messages")
else:
try:
message_data = {
"message_id": message_id,
"time": time,
"stream_id":chat_stream.stream_id,
}
db.recalled_messages.insert_one(message_data)
except Exception:
logger.exception("存储撤回消息失败")
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
})
except Exception:
logger.exception("删除撤回消息失败")
# 如果需要其他存储相关的函数,可以在这里添加