Custom Commands V3公测

任何事情都能启动 Flow

每个 Flow 都从一个触发器开始,目录中共有 96 种。“每日一问”Flow 在 09:00 准时启动,无需任何人输入。同一个编辑器也能通过命令、按钮、新成员或一条消息来启动 Flow。

每日一问

已启用保存

触发器

更改

定时,每天 09:00

#1

获取存储值(get-storage-value)

从以下位置读取题库:{questions}

#2

挑选下一条(array-at)

昨天那条之后的一条

#3

发送消息(send-message)

把问题以嵌入消息发布到#general

#4

创建子区(start-thread-from-message)

在该消息下开启一个子区

#5

增加存储值(increment-storage-value)

将该问题计为已提问,写入{asked}

仅为示意,实际界面可能有所不同

斜杠命令只是众多触发器之一

目录中包含 96 种触发器。Flow 可以由命令、成员的某个行为、服务器里发生的某种变化或时钟来启动。你先选择触发器,编辑器会告诉你它会传给 Flow 哪些值。

斜杠命令和上下文菜单

斜杠命令、使用消息上下文菜单、请求自动补全。

按钮、选择菜单和弹窗

点击按钮、提交字符串选择菜单、提交弹窗。

消息、表情回应和投票

创建消息、添加表情回应,以及编辑、删除和投票事件。

成员、封禁和助力

成员加入、成员离开、成员加成服务器,以及封禁和解封。

频道、身份组和子区

这三者的创建、更新和删除。

语音和舞台频道

语音状态更新,以及舞台实例事件。

AutoMod

AutoMod 动作已执行,以及另外三种 AutoMod 触发器。

邀请、表情和贴纸

创建邀请、重命名表情、添加贴纸。

Discord 的预定活动

从创建到开始,对应你服务器的活动标签页。

服务器设置、审核日志和 Webhook

设置被更改、写入一条审核日志、Webhook 被更新。

定时任务、手动运行和自定义事件

定时、预约运行、手动触发、收到自定义事件。

你的机器人本身

十种与机器人用户相关的触发器,适用于关注机器人而非成员的 Flows。

斜杠命令在控制台里有选项构建器:每个选项可设置名称、描述、类型和是否必填,以及最小值和最大值、最小长度和最大长度、允许的频道类型,还可选择固定选项或自动补全。自动补全的 Flow 会在成员输入时作答,而且只能使用不会改变任何内容的动作。

有些 Flow 该在没人盯着的时候运行

定时和其他触发器一样。“每日一问”Flow 没有命令,也没有成员触发:时钟一响,Flow 就读取题库并发布。控制台没有 cron 文本框,而是提供带预设的选择器,你选好节奏就行。

用预设代替 cron 语法

选择每日、每周或间隔预设,设好时间,搞定。

无需任何人在场

触发器按时钟触发,Flow 运行,消息发布。

Flow 可以自己预约运行

“安排 Flow 运行”可以在 Flow 内部预约之后的一次运行,还有取消和列出待执行项的动作。

同一个 Flow,以及启动它的触发器标签

每日一问

已启用保存

触发器

更改

定时,每天 09:00

#1

获取存储值(get-storage-value)

从以下位置读取题库:{questions}

#2

挑选下一条(array-at)

昨天那条之后的一条

#3

发送消息(send-message)

把问题以嵌入消息发布到#general

#4

创建子区(start-thread-from-message)

在该消息下开启一个子区

#5

增加存储值(increment-storage-value)

将该问题计为已提问,写入{asked}

仅为示意,实际界面可能有所不同

按钮、选择菜单和弹窗

按钮就是触发器。发布一条带按钮或选择菜单的消息,每个组件都会启动各自的 Flow。这条消息可以在你的服务器里放上数月:闲置的按钮不产生任何成本,也永不过期。每日一问下方的“在子区中讨论”是一个 Flow,打开弹窗的 /suggest 命令则是另一个。

按钮

点击按钮会启动一个 Flow。按钮在消息上,逻辑在 Flow 里。

选择菜单

全部五种类型,包括提交字符串选择菜单。

弹窗

显示一个表单,等它以“提交弹窗”的形式返回后再继续。

每日一问,以及当天上午晚些时候的一条建议

general
在线
你的机器人机器人09:00

今日问题

有哪款游戏是你不管它变得多老,都会一直回去玩的?

第 42 个问题,共 120 个

Mira已使用10:12

/suggest

你的机器人机器人10:12

问题已添加

谢谢 Mira。你的建议已作为第 121 号加入题库,每日一问 Flow 会选用它。

触发方式:提交弹窗

给 #general 发消息

仅为示意,实际界面和行为可能有所不同

冷却与特权 Intent

可能频繁触发的触发器需要限制。每个 Flow 都可以给触发器设置冷却,被冷却拦下的运行会在运行历史中记为“已跳过”,所以安静的 Flow 永远不会成为谜。

每个 Flow 单独设置冷却

可开可关,范围可选用户、频道或服务器,时长由你自己设定。

被拦下的运行依然可见

运行历史会说明该次运行已被跳过,并给出原因。

部分触发器需要特权 Intent

只有在 Discord 开发者门户中为你自己的机器人应用开启对应的 Intent,Discord 才会推送消息、成员和在线状态事件。编辑器会标出这些触发器并链接到 Discord 的文档,之后你的机器人需要重启一次,这类 Flow 才能触发。

连续回答

已启用保存

触发器

更改

创建消息,每位成员有冷却

#1

增加存储值(increment-storage-value)

为该成员的回答计数,写入{answers}

#2

如果(if)

该成员已连续十天回答

#3

给成员添加身份组(add-role-to-member)

授予他们“常客”身份组

仅为示意,实际界面可能有所不同

关于触发器的问题

也能响应消息。“创建消息”本身就是一种触发器,消息触发器一共有九种,另外还有“添加表情回应”这样的表情回应触发器。以这种方式启动的 Flow 会拿到那条消息,可以对它计数、检查、回复,或存储与它有关的内容。

想让你的服务器加入公测吗?

V3 是个庞大的系统,而且迭代很快,所以服务器是逐个加入的,而不是一次全部放进来。每份申请都由真人阅读,几天内你就会收到回复。

已经加入公测的服务器,在很大程度上决定了我们接下来做什么。你搭建的东西归你所有:公测结束后,Flows 和模块都会保留。