# 计划任务使用教程

在 Bot v2.1.0 Beta 加入了计划任务功能,方便定时切换连接弹幕房间、发送消息到目标对话。

你单推的对象总是出现在别人的直播间怎么办?定时切换弹幕房间能够帮你在开播前及时切换到 Ta 活跃的直播间,不错过同传弹幕。

# 如何管理计划任务

首先,确认你已经拥有弹幕转发对话(频道)的管理权限,然后在 Bot 对话中使用 /manage_chats 呼出对话管理菜单,选择你要管理的对话,点击 “计划任务” 按钮,进入计划任务管理状态。

在计划任务管理状态,你可以使用三种命令管理当前对话的任务,在一个对话中同样的 cron 表达式只能有一种操作:

  • add:添加计划任务

格式:add [cron 表达式] [操作代码]

  • del:删除计划任务

格式:del [cron 表达式]

  • clear:清除当前对话的所有计划任务

格式:clear

# 如何编写 cron 表达式

格式如下:

# ┌────────────── second
# │ ┌──────────── minute
# │ │ ┌────────── hour
# │ │ │ ┌──────── day of month
# │ │ │ │ ┌────── month
# │ │ │ │ │ ┌──── day of week
# │ │ │ │ │ │
# │ │ │ │ │ │
# * * * * * *

其中:

  • second:表示秒数,可以是从0到59之间的任何整数。
  • minute:表示分钟,可以是从0到59之间的任何整数。
  • hour:表示小时,可以是从0到23之间的任何整数。
  • day:表示日期,可以是从1到31之间的任何整数。
  • month:表示月份,可以是从1到12之间的任何整数。
  • week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

在以上各个字段中,还可以使用以下特殊字符:

  • 星号 (*) :代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
  • 逗号(,):可以用逗号隔开的值指定一个列表范围,例如 “1,2,5,7,8,9”
  • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如 “2-6” 表示 “2,3,4,5,6”
  • 正斜线(/):可以用正斜线指定时间的间隔频率,例如 “0-23/2” 表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

# 如何编写操作代码

计划任务只提供了简单的三种操作可以触发:切换房间和弹幕源、发送纯文本到对话、发送 HTML 到对话。

# 切换房间和弹幕源

操作代码格式:

set_room [房间号] [弹幕源 ID]

如果要连接到 bilibili 源的房间 415594,则操作代码为 set_room 415594 bilibili

如果是要每天的 12:00 完成这个任务,则在计划任务管理状态时,发送以下消息完成添加任务:

add 0 0 12 * * * set_room 415594 bilibili

# 发送纯文本到对话

操作代码格式:

send_text [内容]

对话目标是当前计划任务所在的对话,不可更改,一般用于定时发送消息到同传弹幕转发频道。

如果要发送 I'm cute.,则操作代码为 send_text I'm cute.

# 发送 HTML 到对话

操作代码格式:

send_html [HTML 代码]

对话目标是当前计划任务所在的对话,不可更改,一般用于定时发送消息到同传弹幕转发频道。

如果要发送 来试试这个<a herf="https://danmaqua.github.io">悬浮字幕 Android 版</a>,则操作代码为:

send_html 来试试这个<a herf="https://danmaqua.github.io">悬浮字幕 Android 版</a>

# 注意事项

由于目前没有对任务执行频率做出限制,身为管理员你应当为 Bot 所做出的行为负责,请不要滥用计划任务。

执行结果成功与否都会发送给当前频道的管理员,目前暂无屏蔽执行结果的设置,如果你觉得非常需要,请私信我并暂时关闭 Bot 的消息通知。