防刷屏与防突袭保护
简介
防刷屏与防突袭保护用于帮助群组抵御两个相关问题:单个成员以快到没人看得过来的速度连续发送消息,以及大量账号有组织地同时加入、试图冲垮聊天。两者都会自动处理,但前提是管理员先启用它们。本文介绍的所有功能默认都是关闭的,在为群组启用之前不会采取任何动作,因此仅仅添加机器人并不会改变你的聊天行为,只有在你决定启用后才会生效。
这两套系统作用在不同阶段。防刷屏会在成员发言时监控每个成员;防突袭会监控新成员加入的速度。再加上手动 /panic 控制和入群时的已知滥用者检查,它们能让管理员在垃圾消息爆发时保持群组可读,并在有组织攻击期间及时关门。
防刷屏:消息发送速度
防刷屏会限制单个非管理员成员在短时间窗口内可发送的消息数量。它由群组仪表板中的三项设置控制:
set_antiflood_enabled— 开关。默认关闭。set_antiflood_msgs— 消息数量限制。默认 8。set_antiflood_secs— 时间窗口长度,单位为秒。默认 5。
使用默认设置时,如果某个成员在 5 秒窗口内发送超过 8 条消息,就会触发限制。机器人会在一个短的滚动窗口内统计每个成员的消息;当数量超过限制时,构成这次爆发的消息会被删除,并开始执行处罚。
处罚会逐步升级。成员第一次刷屏时,机器人会对其施加 5 分钟 的临时禁言。如果同一成员在短时间后再次刷屏,机器人会改为将其封禁。这意味着一次偶然失误只会带来短暂禁言,而持续刷屏的成员会被移除。
两条规则保证了公平与安全:
- 管理员豁免。 速度检查只针对非管理员成员运行,因此版主和管理员永远不会被防刷屏功能禁言或封禁。
- 故障时放行。 计数器依赖一个快速的内存存储。如果该存储返回短暂错误,机器人会让消息通过,而不是对其进行处罚。临时基础设施问题绝不会导致不公平的禁言或封禁。
防刷屏运行在逐条消息处理的热点路径上,因此会在消息到达时、较重的内容检查之前作出反应。由于阈值和时间窗口都可配置,你可以根据群组的正常节奏进行调整——活跃聊天可能需要更高的消息限制,而安静的公告频道可能适合更严格的限制。
防突袭:入群激增锁定
防突袭会监控新成员加入的速度。它由四项设置控制:
set_antiraid_enabled— 开关。默认关闭。set_antiraid_joins— 加入数量限制。默认 10。set_antiraid_secs— 时间窗口,单位为秒。默认 30。set_antiraid_lockdown_secs— 锁定持续时间。默认 600 秒(10 分钟)。
使用默认设置时,如果 30 秒内有超过 10 名成员加入,就会触发锁定。发生这种情况时,机器人会通过移除默认聊天权限来锁定整个群组,使成员无法继续发言。锁定会持续到设定的锁定时间结束,然后自动解除,恢复群组的正常权限。
锁定是暂停,而不是清洗。它会在入群激增发生时阻止新涌入的账号发言,让管理员有时间看清发生了什么。计时结束后,群组会自行重新开放。和防刷屏一样,入群计数器也会在故障时放行——统计加入人数时出现的短暂错误绝不会误触发锁定。
手动锁定:/panic 和 /unpanic
管理员可以随时手动锁定群组,即使自动突袭检测处于关闭状态:
/panic— 立即按配置的锁定时间窗口锁定群组。成员在锁定解除或管理员提前解除之前无法发言。/unpanic— 提前解除锁定,让成员重新发言。
两个命令都仅限管理员使用;非管理员执行时会被拒绝。/panic 适用于你已经看到麻烦正在开始、想在自动阈值达到前先关闭群组的情况,或者在你关闭了自动检测但仍希望有一个一条命令即可触发的紧急停止手段时使用。
入群时踢出已知滥用者
设置 set_kick_known_abusers(默认关闭)会根据网络共享的用户情报信号检查每个新成员。已经在网络其他地方被标记为已知滥用者的账号会带有全局标记。启用此设置后,如果被标记的账号加入,机器人会在其发言前立即将其封禁。
此检查同样会在故障时放行:如果滥用者查询出错,机器人会将该入群者视为正常并允许加入,因此查询问题绝不会封禁合法成员。当已知滥用者以这种方式被封禁时,如果群组配置了审核日志,该事件会被记录到其中。
锁定如何与夜间模式协调
防突袭和夜间模式都通过锁定群组的发送权限来工作,因此它们共享同一套底层锁。两个功能会相互协调,确保其中一个不会在另一个仍希望群组保持关闭时解锁群组。如果突袭锁定结束时夜间模式的静默窗口仍然有效,群组会继续因夜间模式保持锁定;如果夜间模式窗口结束时突袭锁定仍在运行,群组会继续因突袭保持锁定。只有当两个功能都不再需要关闭群组时,群组才会重新开放。
最佳实践
- 先使用默认阈值,只有在看到误触发或漏判时再调整。默认值适合大多数群组。
- 即使启用了自动突袭检测,也要记住
/panic这个手动备选方案——它是冻结群组最快的方式。 - 对任何人都可以加入的公开群组启用已知滥用者检查;它能在惯犯发言前拦住他们。
- 请记住,管理员永远不受防刷屏影响,因此如果你想看到该功能实际触发,请使用非管理员账号进行测试。
总结
防刷屏与防突袭保护为管理员提供分层控制:防刷屏通过删除、禁言再到封禁来处理单个吵闹成员;防突袭通过定时群组锁定来应对入群激增;/panic 提供手动覆盖;已知滥用者检查则在门口拦截被标记账号。所有功能在你启用前都会保持关闭,相关情况下都会豁免管理员,并且自动检查会在故障时放行,因此临时错误绝不会处罚无辜成员。