From bf1b123f0bfbb3cfa9943a28cc5d493d2db03cd6 Mon Sep 17 00:00:00 2001 From: UnCLAS-Prommer Date: Wed, 28 May 2025 23:23:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=AD=A3=E5=88=99=EF=BC=8C?= =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=B8=80=E4=B8=8Btemplate=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../focus_chat/heartflow_message_processor.py | 29 ++++++++++--------- template/bot_config_template.toml | 5 ++-- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/chat/focus_chat/heartflow_message_processor.py b/src/chat/focus_chat/heartflow_message_processor.py index 8277e69f9..480ce70d5 100644 --- a/src/chat/focus_chat/heartflow_message_processor.py +++ b/src/chat/focus_chat/heartflow_message_processor.py @@ -1,18 +1,21 @@ -import traceback -from ..memory_system.Hippocampus import HippocampusManager -from ...config.config import global_config -from ..message_receive.message import MessageRecv -from ..message_receive.storage import MessageStorage -from ..utils.utils import is_mentioned_bot_in_message +from src.chat.memory_system.Hippocampus import HippocampusManager +from src.config.config import global_config +from src.chat.message_receive.message import MessageRecv +from src.chat.message_receive.storage import MessageStorage from src.chat.heart_flow.heartflow import heartflow +from src.chat.message_receive.chat_stream import chat_manager, ChatStream +from src.chat.utils.utils import is_mentioned_bot_in_message +from src.chat.utils.timer_calculator import Timer from src.common.logger_manager import get_logger -from ..message_receive.chat_stream import chat_manager +from src.person_info.relationship_manager import relationship_manager + import math +import re +import traceback +from typing import Optional, Tuple, Dict, Any +from maim_message import UserInfo # from ..message_receive.message_buffer import message_buffer -from ..utils.timer_calculator import Timer -from src.person_info.relationship_manager import relationship_manager -from typing import Optional, Tuple, Dict, Any logger = get_logger("chat") @@ -109,7 +112,7 @@ async def _calculate_interest(message: MessageRecv) -> Tuple[float, bool]: # return "seglist" -def _check_ban_words(text: str, chat, userinfo) -> bool: +def _check_ban_words(text: str, chat: ChatStream, userinfo: UserInfo) -> bool: """检查消息是否包含过滤词 Args: @@ -129,7 +132,7 @@ def _check_ban_words(text: str, chat, userinfo) -> bool: return False -def _check_ban_regex(text: str, chat, userinfo) -> bool: +def _check_ban_regex(text: str, chat: ChatStream, userinfo: UserInfo) -> bool: """检查消息是否匹配过滤正则表达式 Args: @@ -141,7 +144,7 @@ def _check_ban_regex(text: str, chat, userinfo) -> bool: bool: 是否匹配过滤正则 """ for pattern in global_config.message_receive.ban_msgs_regex: - if pattern.search(text): + 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") diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml index 251487ae4..baf56d7b1 100644 --- a/template/bot_config_template.toml +++ b/template/bot_config_template.toml @@ -65,10 +65,9 @@ ban_words = [ ] ban_msgs_regex = [ - # 需要过滤的消息(原始消息)匹配的正则表达式,匹配到的消息将被过滤(支持CQ码),若不了解正则表达式请勿修改 + # 需要过滤的消息(原始消息)匹配的正则表达式,匹配到的消息将被过滤,若不了解正则表达式请勿修改 #"https?://[^\\s]+", # 匹配https链接 #"\\d{4}-\\d{2}-\\d{2}", # 匹配日期 - # "\\[CQ:at,qq=\\d+\\]" # 匹配@ ] [normal_chat] #普通聊天 @@ -95,7 +94,7 @@ talk_frequency_down_groups = [] #降低回复频率的群号码 think_interval = 3 # 思考间隔 单位秒,可以有效减少消耗 observation_context_size = 15 # 观察到的最长上下文大小,建议15,太短太长都会导致脑袋尖尖 -compressed_length = 5 # 不能大于chat.observation_context_size,心流上下文压缩的最短压缩长度,超过心流观察到的上下文长度,会压缩,最短压缩长度为5 +compressed_length = 5 # 不能大于observation_context_size,心流上下文压缩的最短压缩长度,超过心流观察到的上下文长度,会压缩,最短压缩长度为5 compress_length_limit = 5 #最多压缩份数,超过该数值的压缩上下文会被删除 [focus_chat_processor] # 专注聊天处理器,打开可以实现更多功能,但是会增加token消耗