From 56c83d0da082d3fc4d9d15684d28fb66eb231727 Mon Sep 17 00:00:00 2001 From: magisk317 <31393975+magisk317@users.noreply.github.com> Date: Wed, 24 Sep 2025 11:12:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B6=88=E6=81=AF=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=97=B6=E6=9C=BA=EF=BC=9A=E5=B0=86=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E7=A7=BB=E8=87=B3=E6=B6=88=E6=81=AF=E5=A4=84?= =?UTF-8?q?=E7=90=86=E4=B9=8B=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将过滤检查从message.process()之前移动到之后 - 确保_check_ban_words使用processed_plain_text时能正常工作 - 保持_check_ban_regex使用raw_message,确保正则过滤正常工作 - 这样既保证了过滤功能的完整性,又符合消息处理的逻辑顺序 修复问题: - 原代码在message.process()之前进行过滤检查 - 此时processed_plain_text还是空的,导致关键词过滤不生效 - 现在过滤检查在消息处理之后进行,确保所有过滤功能正常工作 --- src/chat/message_receive/bot.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/chat/message_receive/bot.py b/src/chat/message_receive/bot.py index f611bbd2..b17ea911 100644 --- a/src/chat/message_receive/bot.py +++ b/src/chat/message_receive/bot.py @@ -251,18 +251,6 @@ class ChatBot: # return pass - # 过滤检查 - if _check_ban_words( - message.processed_plain_text, - user_info, # type: ignore - group_info, - ) or _check_ban_regex( - message.raw_message, # type: ignore - user_info, # type: ignore - group_info, - ): - return - get_chat_manager().register_message(message) chat = await get_chat_manager().get_or_create_stream( @@ -276,6 +264,18 @@ class ChatBot: # 处理消息内容,生成纯文本 await message.process() + # 过滤检查(在消息处理之后进行) + if _check_ban_words( + message.processed_plain_text, + user_info, # type: ignore + group_info, + ) or _check_ban_regex( + message.raw_message, # type: ignore + user_info, # type: ignore + group_info, + ): + return + # if await self.check_ban_content(message): # logger.warning(f"检测到消息中含有违法,色情,暴力,反动,敏感内容,消息内容:{message.processed_plain_text},发送者:{message.message_info.user_info.user_nickname}") # return