feat(chat): 新增群组静默列表以忽略非@消息

引入了 `mute_group_list` 配置项。对于被添加到此列表的群组,机器人将只在被明确@或回复时才处理消息,从而避免在活跃群组中造成不必要的打扰。

- 在 `MessageReceiveConfig` 中添加 `mute_group_list` 选项。
- 在消息接收逻辑中实现检查,如果消息来自静默群组且不是@或回复,则跳过消息管理器处理。
- 调整了 `is_mentioned` 的计算时机,移至消息内容处理之后,以确保静默判断的准确性。
- 附带修复了处理适配器响应时因数据非字典类型导致的潜在错误。
This commit is contained in:
tt-P607
2025-10-23 00:24:16 +08:00
parent 6a81fd40b5
commit 9f28d1943c
4 changed files with 28 additions and 8 deletions

View File

@@ -148,6 +148,9 @@ class MessageReceiveConfig(ValidatedConfigBase):
ban_words: list[str] = Field(default_factory=lambda: [], description="禁用词列表")
ban_msgs_regex: list[str] = Field(default_factory=lambda: [], description="禁用消息正则列表")
mute_group_list: list[str] = Field(
default_factory=list, description="静默群组列表,在这些群组中,只有在被@或回复时才会响应"
)
class NoticeConfig(ValidatedConfigBase):