反破坏详解
哪些操作被视为具有破坏性、时间窗口和阈值、处罚措施以及信任列表。
监控内容
反破坏会读取审核日志,以确定是谁执行了每一项具有破坏性的操作:频道删除、身份组删除、成员封禁和成员踢出。操作会按操作者分别统计。当某个操作者在 window_seconds 内超过 max_actions 时,机器人会对该操作者执行已配置的处罚,并将结果发布到日志频道。
设置与默认值
- enabled
- 默认关闭。在你开启之前,不会对任何人进行处罚。
- max_actions
- 默认值为 3。在时间窗口内允许执行的操作次数,超过后将受到处罚。
- window_seconds
- 默认值为 30。
- action
- timeout(默认)、kick、ban 或 none。none 仅记录日志。
- timeout_minutes
- 默认值为 60,在 action 为 timeout 时使用。
使用 /security antinuke 或在“安全”页面中设置。 /security status 会显示当前的值。
信任列表
/security trust role:<role> 或 user:<user> 可将其豁免; /security untrust 则将其移除。服务器所有者始终被豁免,机器人也会忽略自己执行的操作。请只把批量清理工具和你最信任的管理员加入列表,其他人都不要加入。信任列表永远不会被“复制设置”复制。
限制
机器人需要“查看审核日志”权限;要执行禁言、踢出或封禁,还需要相应权限,并且机器人的身份组必须高于操作者的身份组。它无法阻止身份组高于机器人的操作者,因此机器人身份组应设置得较高,但要低于服务器所有者。在高负载下,Discord 的审核日志可能会延迟数秒;时间窗口足够宽,仍能捕捉到突发操作。