警告、举报与管理日志
简介
并不是每一次管理决策都应该直接封禁。成员偶尔违反一次规则,可能只需要提醒一下;而反复违规的成员,则应该面对清晰、可预期的后果。这组功能为管理员提供了一种循序渐进的处理方式:通过警告阶梯,在多次违规后才升级为封禁;让普通成员可以向管理员举报不当消息;并用一份私密日志记录管理系统执行过的操作。
每项功能默认都是关闭的,只有管理员在群组控制面板中启用后才会生效。开启 bot 并不会在后台悄悄开始警告或封禁任何人。
警告阶梯
警告阶梯允许管理员给成员记一次违规。当违规次数达到配置的上限时,该成员会被自动封禁,其违规计数也会重置。它由两个设置控制:
set_warnings_enabled— 开关。默认关闭。set_warn_limit— 触发封禁的违规次数。默认 3。
三个仅限管理员使用的命令用于管理违规记录:
/warn— 记一次违规。可以回复该成员的消息,也可以传入他们的数字 id 或@handle。你还可以附加一个可选原因,例如/warn @user spamming links。/unwarn— 从成员身上移除一次违规记录,用于误发警告的情况。/warns— 查看某个成员当前已有多少次违规,以及距离上限还差多少。
当一次 /warn 使成员达到上限时——例如默认上限为 3 时的第三次违规——bot 会封禁该成员并清空其违规计数。未达到上限时,bot 会记录新的违规次数并回复当前计数,让管理员和成员都能清楚了解当前状态。命令消息本身会在处理后被删除,以保持聊天界面整洁。
这三个命令都仅限管理员使用。普通成员执行这些命令会被拒绝,并且任何人都不能警告自己。
成员举报
举报功能允许普通成员将某条消息标记出来,提醒管理员关注。这是刻意设计成成员功能,而不是管理员功能:正在阅读聊天内容的人往往最先发现问题。它由一个设置控制:
set_reports_enabled— 开关。默认关闭。
要举报一条消息,成员需要回复该消息并发送 /report,也可以附带一个简短原因。bot 会在群内发布一条通知,让管理员看到哪条消息被举报以及是谁举报的;如果已设置管理日志,也会将该举报记录到日志中。
两条规则可以避免举报变成骚扰:
- 频率限制。 每位成员每 30 秒 只能举报一次。在这个时间窗口内重复举报会被静默忽略,因此没人能用举报通知刷屏骚扰管理员。
- 保持聊天整洁。
/report命令消息在处理后总是会被删除,无论举报是否成功,这样被举报的对话不会被举报命令打乱。
举报本身不会惩罚任何人。它只是给管理员的一个信号,之后由管理员决定是警告、禁言、封禁,还是不采取任何操作。
管理日志
管理日志会将管理系统执行的操作同步到一个单独的频道中,这样管理员无需实时盯着群组,也能持续查看记录。它由一个设置控制:
set_modlog_channel_id— 接收日志的频道数字 id。在群组管理员控制面板的 Auto-Moderation 部分进行设置。留空(默认)则禁用日志。
设置频道 id 后,bot 会在管理事件发生时发布一行日志条目。这些事件包括已发出的警告、封禁(包括达到警告上限触发的封禁,以及其他自动封禁,例如封禁已知滥用者)、成员举报和突袭锁群。每条记录都会说明操作、相关成员,以及执行该操作的管理员或系统。
要让日志正常工作,bot 必须是目标频道的管理员——这样它才有权限在那里发消息。如果 bot 不是该频道的管理员,日志条目就无法送达。日志采用尽力而为机制:单条日志发布失败绝不会阻止管理操作本身,群组中的操作仍会正常执行。
这些功能如何协同工作
这三项功能相互补充。举报让成员可以把问题暴露出来。警告阶梯让管理员可以按严重程度作出回应,只有在成员不停止违规时才升级处理。管理日志则记录两者,为管理员团队提供一份共享的事件历史,说明发生了什么以及是谁采取了操作。常见做法是同时启用三者:成员举报,管理员警告,所有内容都进入日志频道以便复查。
最佳实践
- 根据你所在社区的容忍度设置警告上限。上限为 3 时,成员在被封禁前有两次机会;宽松的群组可以调高,严格的群组可以调低。
- 尽量通过回复违规消息来执行
/warn——这样能最准确地定位对应成员,也最不容易输错 id。 - 在决定封禁前使用
/warns,确认该成员是屡次违规还是第一次犯错。 - 创建一个私密的管理日志频道,将 bot 添加为那里的管理员,并在控制面板中设置其 id,这样你的团队就能拥有审计记录。
- 在管理员无法阅读每条消息的大型群组中启用举报;成员会成为额外的观察者。
总结
警告、举报和管理日志会把管理工作从一连串一次性的封禁,变成一套系统。成员用 /report 标记问题,管理员通过 /warn、/unwarn 和 /warns 逐步记违规;成员只有在达到配置的上限后才会被自动封禁;配置日志频道后,每个操作都会同步到该频道。所有功能在管理员启用前都会保持关闭,并且警告相关命令仅限管理员使用。