From 13c3b07085785313b24906c1c0e89c3790cc60e3 Mon Sep 17 00:00:00 2001 From: HYY1116 Date: Thu, 13 Mar 2025 21:13:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=A0=E5=A4=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/chat/message_sender.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/plugins/chat/message_sender.py b/src/plugins/chat/message_sender.py index 1ff081bd8..a0d171504 100644 --- a/src/plugins/chat/message_sender.py +++ b/src/plugins/chat/message_sender.py @@ -79,7 +79,7 @@ class MessageContainer: if isinstance(msg, MessageSending): # 检查是否撤回,对应stream_id和message_id if ( - db.chat_streams.find({"stream_id": msg.chat_stream.stream_id}, {"message_id": msg.message_info.message_id}) + db.recalled_messages.find({"stream_id": msg.chat_stream.stream_id}, {"message_id": msg.message_info.message_id}) is not None ): recalled_messages.append(msg) @@ -188,15 +188,10 @@ class MessageManager: # 检查消息是否被撤回 recalled_messages = container.get_recalled_messages() - recalled_message_ids = [msg.message_id for msg in recalled_messages] - recalled_messages_stream_id = [msg.chat_stream.stream_id for msg in recalled_messages] - - if ( - message_earliest.message_info.message_id in recalled_message_ids - and message_earliest.chat_stream.stream_id in recalled_messages_stream_id - ): - logger.info(f"消息已被撤回,移除该消息: {message_earliest.message_id}") - container.remove_message(message_earliest) + for msg in recalled_messages: + if message_earliest.message_info.message_id == msg.message_info.message_id: + logger.warning(f"消息已被撤回,移除该消息: {message_earliest.message_info.message_id}") + container.remove_message(message_earliest) else: if (