From fbf3b8f1efdaec42907527497c7ec347c7dbac83 Mon Sep 17 00:00:00 2001 From: UnCLAS-Prommer Date: Thu, 29 May 2025 20:14:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E4=BF=AE=E6=B6=88=E6=81=AF=E5=A4=84?= =?UTF-8?q?=E7=90=86=E7=82=B8=E9=A3=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/experimental/only_message_process.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/experimental/only_message_process.py b/src/experimental/only_message_process.py index 8fb1e3bf2..6dd70ca7f 100644 --- a/src/experimental/only_message_process.py +++ b/src/experimental/only_message_process.py @@ -2,7 +2,11 @@ from src.common.logger_manager import get_logger from src.chat.message_receive.message import MessageRecv from src.chat.message_receive.storage import MessageStorage from src.config.config import global_config +from src.chat.message_receive.chat_stream import ChatStream + +from maim_message import UserInfo from datetime import datetime +import re logger = get_logger("pfc") @@ -14,7 +18,7 @@ class MessageProcessor: self.storage = MessageStorage() @staticmethod - def _check_ban_words(text: str, chat, userinfo) -> bool: + def _check_ban_words(text: str, chat: ChatStream, userinfo: UserInfo) -> bool: """检查消息中是否包含过滤词""" for word in global_config.message_receive.ban_words: if word in text: @@ -26,13 +30,12 @@ class MessageProcessor: return False @staticmethod - def _check_ban_regex(text: str, chat, userinfo) -> bool: + def _check_ban_regex(text: str, chat: ChatStream, userinfo: UserInfo) -> bool: """检查消息是否匹配过滤正则表达式""" - for pattern in global_config.chat.ban_msgs_regex: - if pattern.search(text): - logger.info( - f"[{chat.group_info.group_name if chat.group_info else '私聊'}]{userinfo.user_nickname}:{text}" - ) + for pattern in global_config.message_receive.ban_msgs_regex: + if re.search(pattern, text): + chat_name = chat.group_info.group_name if chat.group_info else "私聊" + logger.info(f"[{chat_name}]{userinfo.user_nickname}:{text}") logger.info(f"[正则表达式过滤]消息匹配到{pattern},filtered") return True return False