定时公告与夜间模式
简介
群组管理员常见的两项日常工作,是按固定时间重复发送同一条消息,以及在夜间让群组保持安静。定时公告可以让 bot 代你发布消息,可以只发一次,也可以按周期重复发送,这样你就不用记得手动重新发布规则或提醒。夜间模式会在每天指定的时间段内禁言群组,并在结束后恢复发言,因此一个时区里的聊天不会打扰到另一个时区正在休息的成员。
这两个功能默认都是关闭的,只有管理员完成设置后才会生效。启用 bot 本身并不会让它自动开始发布公告或静默群组。
定时公告
管理员可以使用 /announce 命令登记一条公告。命令后的第一个词是发送计划,其余内容是要发布的文本。所有公告命令都仅限管理员使用。
要定时发送消息,请使用一个周期,或使用 once 后接消息文本:
/announce 6h Read the /rules— 每 6 小时发布一次这条消息。/announce once Welcome, the AMA starts at noon.— 只发布这条消息一次,然后停止。
重复周期使用时长来表示。支持的单位包括分钟、小时、天和周,例如 30m、6h、1d 和 2w。重复公告有 5 分钟的最小间隔,因此短于五分钟的计划会被拒绝。一次性公告(once)不受该最小间隔限制,因为它只会触发一次。
另外还有两个子命令用于管理已有公告:
/announce list— 显示当前群组的公告列表,每条都会带有自己的 id。/announce del <id>— 按 id 删除一条公告,例如/announce del 42。删除操作仅限当前群组,因此不会误删其他群组中的同名 id。
每个群组可同时保存的公告数量有上限(20)。如果达到上限,需要先删除一条再添加新的公告。公告保存后,调度器会在到期时发布它:重复公告会在每次发布后重新安排下一次运行,一次性公告则会在触发后关闭。如果 bot 在公告到期时无法向群组发送消息(例如 bot 已被移除),该计划仍会继续向前推进,避免系统不停地反复检查同一个群组。
夜间模式
夜间模式会在每天指定的时间段内禁言所有成员,并在时间段结束后恢复发言。它由群组仪表盘中的一组设置控制,主要设置是 set_night_mode_enabled,默认关闭。时间窗口由开始时间、结束时间和 UTC 偏移量定义,这个偏移量用于把这些时间对应到群组的本地时钟。
你可以在两个地方配置夜间模式:
- 仪表盘。 在管理员仪表盘中打开该群组,并在 自动审核 部分设置时间窗口。
- 聊天中,使用仅限管理员的
/nightmode命令。
/nightmode 命令接受一个时间窗口以及几个开关:
/nightmode 22:00-07:00 +1— 对于本地时间比 UTC 快一小时的群组,从 22:00 到 07:00 禁言成员。时间窗口可以跨过午夜,本例就是如此。/nightmode on— 使用已保存的时间窗口启用夜间模式。/nightmode off— 关闭夜间模式。如果群组当前正因夜间模式被禁言,这也会立即解除禁言。/nightmode status— 显示当前时间窗口、偏移量,以及群组此刻是否处于禁言状态。
时间按群组本地时间填写,末尾的偏移量(例如 +1 或 -5)是整小时的 UTC 偏移,用来告诉 bot 群组本地时钟与 UTC 的关系。调度器会检查该时间窗口,并在边界时间锁定或解锁群组,因此每天的切换都会自动完成。
管理员不受夜间模式影响。 禁言只会应用于普通成员,因此版主和管理员在群组安静期间仍然可以发言。这意味着即使处于静默时间段,管理员也可以发布深夜公告。
夜间模式如何与突袭锁定协同
夜间模式和反突袭保护都会通过锁定群组的发送权限来工作,因此它们共享同一套底层锁定机制,并会协调何时释放锁定。如果夜间模式的时间窗口结束时突袭锁定仍然有效,群组会继续为突袭保持锁定;如果突袭锁定结束时夜间模式的时间窗口仍在持续,群组会继续为夜间模式保持锁定。只有当两个功能都不再要求关闭群组时,群组才会重新开放,因此其中一个功能永远不会解除另一个仍然需要的锁定。
最佳实践
- 对群组规则等长期提醒使用重复公告,对活动开始等限时通知使用
once。 - 通过
/announce list和/announce del <id>清理过期条目,让公告数量保持在每个群组的上限以内。 - 仔细设置夜间模式的偏移量,确保时间窗口符合成员的本地时钟;设置后可用
/nightmode status检查。 - 记住管理员在夜间模式期间仍可发言,因此如果你想确认禁言是否生效,请使用非管理员账号测试。
总结
定时公告和夜间模式可以自动化两项重复性的管理任务。/announce 可以一次性或按固定周期发布消息,重复计划有 5 分钟下限、每个群组有数量上限,并提供 list/del 子命令来管理已安排的内容。夜间模式会根据整小时 UTC 偏移,以本地时间设置的每日时间窗口禁言成员,同时允许管理员继续发言,并会与突袭锁定协同,避免两者争夺群组锁定。两个功能都会保持关闭,直到管理员主动启用。