Skip to content

自定义规则

规则类型概述

QQ Message Blocker 提供了多种规则类型,可以灵活组合使用:

1. 消息屏蔽规则

包含匹配

适用于需要屏蔽包含特定内容的消息:

javascript
// 示例:屏蔽包含"测试111"的消息
blockedWords: [
    "测试111"  // 会屏蔽"测试111"、"测试111111"等
]

完全匹配

适用于需要精确控制的场景:

javascript
// 示例:只屏蔽完全匹配的消息
exactBlockedWords: [
    "测试222",  // 只会屏蔽"测试222"
    "?"         // 只会屏蔽"?"
]

2. 用户屏蔽规则

用户特定的包含匹配

针对特定用户设置包含匹配规则:

javascript
// 示例:针对特定用户的消息屏蔽
specialBlockedUsers: {
    "用户1": [
        "",        // 屏蔽该用户的所有消息
        "@",       // 屏蔽该用户发送的包含"@"的消息
        "关键词"   // 屏蔽该用户发送的包含"关键词"的消息
    ]
}

用户特定的完全匹配

针对特定用户设置完全匹配规则:

javascript
// 示例:针对特定用户的精确消息屏蔽
exactSpecialBlockedUsers: {
    "用户1": [
        "测试444"  // 只屏蔽该用户发送的"测试444"消息
    ]
}

3. 表情屏蔽规则

全局表情屏蔽

屏蔽所有用户的特定表情:

javascript
// 示例:全局表情屏蔽
blockedEmojis: [
    99999,  // 屏蔽表情ID为99999的表情
    88888   // 屏蔽表情ID为88888的表情
]

用户特定的表情屏蔽

针对特定用户屏蔽表情:

javascript
// 示例:用户特定的表情屏蔽
specialBlockedUsersEmojis: {
    "用户1": [
        99999,  // 屏蔽该用户的特定表情
        66666
    ]
}

4. 图片屏蔽规则

基于图片特征值的屏蔽:

javascript
// 示例:图片特征值屏蔽
blockedImages: [
    "76264f7279cd8e5e2d2c597fa68da8a2.jpg",
    "bae9b15fd28f626c6b08d01188dfb604.gif"
]

规则组合使用

1. 多层级屏蔽

可以同时使用多种规则来实现更精确的屏蔽效果:

javascript
{
    // 全局消息屏蔽
    "blockedWords": ["广告"],
    
    // 特定用户的消息屏蔽
    "specialBlockedUsers": {
        "用户1": ["推广"]
    },
    
    // 特定用户的表情屏蔽
    "specialBlockedUsersEmojis": {
        "用户1": [99999]
    }
}

2. 规则优先级

  • 用户特定规则优先于全局规则
  • 完全匹配优先于包含匹配
  • 特定表情屏蔽优先于超级表情屏蔽

规则管理建议

1. 规则设计

  • 从简单规则开始
  • 逐步添加复杂规则
  • 注意规则之间的关系

2. 规则维护

  • 定期检查规则有效性
  • 删除过期或无用规则
  • 优化规则组合

3. 性能考虑

  • 避免过多的正则匹配
  • 合理使用完全匹配
  • 保持规则简洁高效

最佳实践

1. 规则命名

  • 使用清晰的关键词
  • 避免过于模糊的匹配
  • 保持规则可读性

2. 规则测试

  • 先小范围测试
  • 验证规则效果
  • 及时调整优化

3. 规则备份

  • 定期导出规则
  • 记录规则更改
  • 保存重要配置

基于 GPL v3 许可发布