Skip to main content
指南
指南Command CreatorBasics

构建带真正分支的 Discord 命令

高级构建器是一个带有真正条件的可视化流程编辑器。它能做什么,什么时候值得离开简单模式,以及为什么 Discord 会统计你的保存次数。

发布于 作者 AlphaCloud3 分钟阅读

一个自定义斜杠命令很快就能做好:输入名称,输入回复,搞定。这足以应付 /rules 和 /discord,对大多数服务器来说,这就是它们需要的全部。

当回复不应该总是一样的时候,事情就变得有意思了。

简单模式不够用的时候

简单模式到此为止的三个例子:

  • 命令应根据对方是否是助力者给出不同的回复
  • 命令应带有按钮,而且每个按钮应做不同的事
  • 命令应从几个回复中随机挑选一个

这三种情况正是高级构建器的用武之地,它是一个可视化流程编辑器。你不再写一条固定的回复,而是用连接起来的组件块搭建一个流程。

分支

它的核心是带有两个输出的条件:“则”和“否则”。你可以检查:

  • 是否为服务器助力者
  • 拥有权限,即管理员、管理服务器、管理消息、禁言成员或管理身份组
  • 参数等于某个值,与预设选项结合时尤其强大

最后一项很容易被忽略。你可以给命令设置参数,包括一个固定的选项列表,然后根据所选的选项进行分支。这实际上把一个带三个选项的命令变成了一个有三种不同回复的命令,而无需创建三个命令。

按钮流程

回复中的每个按钮在编辑器中都有自己的输出。点击之后发生什么,就从那里开始搭建。

这让你可以构建小型引导流程:一个带三个按钮的问题,每个按钮都通向自己的分支。这比三个没人记得住的单独命令要好得多。

只有这里才有的三个动作

等待。 两个步骤之间的暂停,1 到 300 秒。听起来像个噱头,但正是它让一个流程感觉像对话,而不是一堵文字墙。

随机回复。 从最多 10 条消息中挑选一条。有了它,一个神奇八号球风格的命令只需两分钟就能做好。

设置昵称。 支持变量,留空则重置。

变量

除了显而易见的变量之外,还有 {channel}、{channel.name}、{server.members},以及用于生成一个范围内随机数的 {random.X-Y}。最后这个再加上随机回复,就是几乎任何小型趣味命令所需的全套工具。

为什么 Discord 会统计你的保存次数

有一点在别处都没有提到,它解释了为什么保存有时感觉会延迟:Discord 每天只允许每个服务器新建有限数量的命令。

如果没有应对措施,频繁编辑会把这个配额耗光。因此,短时间内连续多次保存会被合并成一次注册,而不是每次点击都去敲 Discord 的门。

实际的结论是:从容地把一切都做好再保存,比每做一小步就保存要好。如果确实有什么卡住了,面板中有一个重新注册按钮,每个服务器有五分钟的冷却时间。

什么时候自动化更合适

一句话说明区别:命令由某个人调用,自动化则自己运行。

如果你的流程应该按计划启动,或者挂在加入之类的事件上,那它应该放在自动化中,而不是命令创建器。反过来:一旦你需要条件或按钮,高级构建器就是正确的选择,因为自动化刻意没有分支。

关于编辑器的一切,见命令创建器文档。

更多文章