feat(config): 添加表情包回复配置,允许或禁止回复表情包消息

This commit is contained in:
Windpicker-owo
2025-11-13 16:22:28 +08:00
parent 9c136e141b
commit 8e04bf36b4
3 changed files with 12 additions and 1 deletions

View File

@@ -241,6 +241,13 @@ class ChatterActionManager:
"command": command,
}
else:
# 检查目标消息是否为表情包消息以及配置是否允许回复表情包
if target_message and getattr(target_message, 'is_emoji', False):
# 如果是表情包消息且配置不允许回复表情包,则跳过回复
if not getattr(global_config.chat, 'allow_reply_to_emoji', True):
logger.info(f"{log_prefix} 目标消息为表情包且配置不允许回复表情包,跳过回复")
return {"action_type": action_name, "success": True, "reply_text": "", "skip_reason": "emoji_not_allowed"}
# 生成回复 (reply 或 respond)
# reply: 针对单条消息的回复,使用 s4u 模板
# respond: 对未读消息的统一回应,使用 normal 模板

View File

@@ -152,6 +152,8 @@ class ChatConfig(ValidatedConfigBase):
multiple_replies_strategy: Literal["keep_first", "keep_best", "keep_last"] = Field(
default="keep_first", description="多重回复处理策略keep_first(保留第一个)keep_best(保留最佳)keep_last(保留最后一个)"
)
# 表情包回复配置
allow_reply_to_emoji: bool = Field(default=True, description="是否允许回复表情包消息")
class MessageReceiveConfig(ValidatedConfigBase):

View File

@@ -1,5 +1,5 @@
[inner]
version = "7.6.9"
version = "7.7.0"
#----以下是给开发人员阅读的如果你只是部署了MoFox-Bot不需要阅读----
#如果你想要修改配置文件请递增version的值
@@ -165,6 +165,8 @@ decision_history_length = 3 # 决策历史记录的长度,用于增强语言
enable_multiple_replies = false # 是否允许多重回复True=允许多个回复动作False=只保留一个回复动作)
multiple_replies_strategy = "keep_first" # 多重回复处理策略keep_first(保留第一个)keep_best(保留最佳)keep_last(保留最后一个)
# 表情包回复配置
allow_reply_to_emoji = false # 是否允许回复表情包消息
[message_receive]
# 以下是消息过滤,可以根据规则过滤特定消息,将不会读取这些消息