diff --git a/src/chat/chat_loop/cycle_processor.py b/src/chat/chat_loop/cycle_processor.py index 52092ee1f..f7bcd20fe 100644 --- a/src/chat/chat_loop/cycle_processor.py +++ b/src/chat/chat_loop/cycle_processor.py @@ -311,6 +311,10 @@ class CycleProcessor: if reply_actions: logger.info(f"{self.log_prefix} 正在执行文本回复...") for action in reply_actions: + target_user_id = action.get("action_message",{}).get("chat_info_user_id","") + if target_user_id == global_config.bot.qq_account and not global_config.chat.allow_reply_self: + logger.warning("选取的reply的目标为bot自己,跳过reply action") + continue result = await execute_action(action) if isinstance(result, Exception): logger.error(f"{self.log_prefix} 回复动作执行异常: {result}") diff --git a/src/config/official_configs.py b/src/config/official_configs.py index 3230888b9..b97b5443f 100644 --- a/src/config/official_configs.py +++ b/src/config/official_configs.py @@ -73,6 +73,7 @@ class ChatConfig(ValidatedConfigBase): talk_frequency: float = Field(default=1.0, description="聊天频率") mentioned_bot_inevitable_reply: bool = Field(default=False, description="提到机器人的必然回复") at_bot_inevitable_reply: bool = Field(default=False, description="@机器人的必然回复") + allow_reply_self: bool = Field(default=False, description="是否允许回复自己说的话") talk_frequency_adjust: list[list[str]] = Field(default_factory=lambda: [], description="聊天频率调整") focus_value: float = Field(default=1.0, description="专注值") focus_mode_quiet_groups: List[str] = Field( diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml index 07c791c6b..3a7ed77de 100644 --- a/template/bot_config_template.toml +++ b/template/bot_config_template.toml @@ -1,5 +1,5 @@ [inner] -version = "6.8.1" +version = "6.8.2" #----以下是给开发人员阅读的,如果你只是部署了MoFox-Bot,不需要阅读---- #如果你想要修改配置文件,请递增version的值 @@ -123,6 +123,8 @@ enable_breaking_mode = true # 是否启用自动进入breaking模式,关闭后 # 强制私聊回复 force_reply_private = false # 是否强制私聊回复,开启后私聊将强制回复 +allow_reply_self = false # 是否允许回复自己说的话 + max_context_size = 25 # 上下文长度 thinking_timeout = 40 # MoFox-Bot一次回复最长思考规划时间,超过这个时间的思考会放弃(往往是api反应太慢) replyer_random_probability = 0.5 # 首要replyer模型被选择的概率 diff --git a/test_planner_personality.py b/test_planner_personality.py deleted file mode 100644 index e69de29bb..000000000