Discord 定时消息机器人:定时发帖、自动清理和夜间锁定
Discord 定时消息机器人会按固定的计时器发送同一条消息,因此提醒和公告无需有人记得去发。 Noxyr 的计划还可以按计时器清理频道,并在夜间锁定它们,所有这些都在同一个“计划”页面中完成。
三种计划
Noxyr 将定时自动化归入一项功能,包含三种类型。每种解决不同的日常事务,并按各自的时钟运行。
| 类型 | 作用 | 时间 |
|---|---|---|
| 消息 | 在最多五个频道中发送相同的文字或 embed。可以先删除它上一次发送的消息,使频道只保留一份副本。 | 每 15 分钟到 7 天 |
| 清理 | 删除超过设定时长的消息,或者删除除最新几条以外的所有消息。置顶消息会保留,除非你另行设置。 | 每 30 分钟到 7 天 |
| 锁定 | 在锁定时间与解锁时间之间,在你所选的日期和你所在的时区内,阻止成员在最多十个频道中发言。 | 每日时段 |
定时消息
对于需要自动重复出现的内容,请使用消息计划:例如每周一次的规则提醒、“如何开启工单”的说明、店铺的推广或活动报名的号召。消息可以是纯文本或 embed。开启删除上一条消息的选项后,频道中始终只显示一份,而不会不断堆积。
使用 /schedule message 运行,选择频道、文字和发送间隔的分钟数。在仪表盘中,它位于“自动化”下的“计划”,你可以一次选择多个频道。
计划会按时钟发送,无论有没有人在聊天。如果你希望提示内容跟随对话,请改用置顶消息。
自动清理
清理计划可以防止频道被填满。你可以选择机器人决定删除内容的方式:
- older_than_minutes:删除超过设定时间的消息,例如超过一天的所有消息。
- keep_last:只保留最新的消息,数量从 1 到 90,其余全部删除。
使用 /schedule cleanup 创建。每次运行会查看频道中最新的 100 条消息。Discord 不允许机器人批量删除 14 天以前的消息,因此这些消息会保留。如果需要带过滤器的一次性清除,请参阅清理机器人页面中的 /clear 说明。
夜间锁定频道
锁定计划会在设定时间关闭频道的发言权限,并在稍后重新开放。它适合夜间无人值守的客服或交易频道、每日的“安静时段”,或只在活动期间运行的频道。使用 /schedule lock,并填写频道、lock_at 和 unlock_at(采用 23:00 这样的 24 小时格式)、time_zone 以及 days。你还可以选择在锁定和开放时发送一条消息。
其原理是,机器人会修改该频道中 @everyone 的发送消息权限,然后恢复为修改前的确切设置。它需要在该频道拥有管理权限。如果你在频道处于锁定时段内保存锁定计划,它会立即锁定。
管理现有计划
/schedule list显示每个计划及其下次运行时间和任何问题。/schedule toggle暂停或恢复某个计划。/schedule remove删除某个计划。删除锁定计划会重新开放其频道。
每个服务器的每种类型最多可以有 10 个计划,即最多 10 个消息计划、10 个清理计划和 10 个锁定计划。
设置合适的时间
- 不要太频繁地重复。在活跃频道中每 15 分钟提醒一次只会造成干扰。大多数通知每天或每周一次即可。
- 使用删除上一条消息。它能保持频道可读,并避免计划把真正的聊天内容埋掉。
- 为锁定设置时区。时段会按你选择的时区计算,因此 23:00 的锁定就是你所选时区的 23:00。
- 先用较短的间隔测试,再改为实际使用的间隔。
如果你计划每周的节奏,每周计划生成器可以帮你规划何时发布什么。如果不使用机器人,想了解活动公告,请阅读定时活动指南。
可直接复制的示例
- 每周规则提醒。在 #general 中每 7 天发送一次消息计划,并开启删除上一条消息。
- 安静的客服频道。一个清理计划,只保留最后 30 条消息,使机器人的噪音永远不会堆积。
- 夜间锁定。交易频道从 23:00 锁定到 07:00,关闭时和开放时各发送一条简短消息。
- 活动倒计时。连续一周每天发送同一个报名链接的消息,然后用
/schedule toggle暂停。
以上所有内容也都可以在仪表盘中设置。表单旁边的列表允许你编辑、暂停和删除计划,无需输入命令。
后续步骤
常见问题
定时消息最多能多久重复一次?
从每 15 分钟到每 7 天,每个计划最多可用于五个频道。
机器人能自动清除旧消息吗?
可以,使用每 30 分钟到 7 天一次的清理计划。超过 14 天的消息会保留,因为 Discord 不允许机器人批量删除它们。
能在夜间锁定频道吗?
可以。锁定计划会在你设置的锁定和解锁时间之间,按你所在的时区,阻止成员在最多十个频道中发言。
我能创建多少个计划?
每个服务器每种类型最多 10 个计划。
锁定计划需要什么权限?
需要该频道的管理权限,因为它会修改 @everyone 的发送消息权限,然后再恢复。