Discord 斜杠命令:它们如何工作,以及机器人为什么使用它们
斜杠命令是你在消息框中输入 / 并从 Discord 显示的菜单中选择来启动的机器人命令。 因为 Discord 会列出选项并检查输入,斜杠命令取代了大多数旧的前缀命令,并且无需任何特殊权限即可读取消息。
斜杠命令如何工作
机器人通过 API 向 Discord 注册它的命令。每个命令都有名称、描述和可选的输入,例如用户、频道、数字或选项列表。当你输入 / 时,Discord 会显示菜单,验证你输入的内容,然后向机器人发送一个交互。机器人有三秒钟确认它,之后可以在十五分钟内继续回复。
机器人无需读取你的聊天。它只看到你选择运行的那个命令。
全局命令与服务器命令
- 全局命令会出现在机器人所在的每个服务器中,如果机器人允许,也包括私信。更新可能需要一小段时间才能在各处显示。
- 服务器(guild)命令只存在于一个服务器中,更新是即时的。开发者用它们进行测试。
命令可以拥有子命令和分组,例如 /ticket close,因此机器人可以把许多功能放在几个名称之下。
谁被允许使用它们
每个命令都有开发者设定的默认权限。服务器管理员可以在服务器设置的"集成"中覆盖这些权限,选择哪些角色或频道可以运行哪些命令。如果某个命令没有出现在菜单中,通常是权限覆盖或频道限制造成的。
斜杠与前缀命令
较早的机器人会监听诸如 !play 之类的文字。这需要特权的消息内容意图,而且没有自动补全。斜杠命令避免了这两个问题。另一侧的情况请参阅前缀命令,完整比较见完整对比。
Noxyr 中的斜杠命令
每个 Noxyr 功能都可以作为斜杠命令使用,同样的命令也可以作为普通的前缀消息使用,例如 $help,权限相同。完整列表见命令页面。管理员可以使用自定义命令为自己的服务器重命名命令,并通过命令可见性决定每个角色能看到哪些命令。如果菜单看起来是空的,请遵循命令缺失指南。
给成员的提示
输入斜杠并开始输入命令名称即可过滤列表。按 Tab 键在各选项之间移动。如果某个命令缺失,请重启 Discord,因为应用会缓存命令列表,并检查你是否在正确的频道中。
常见问题
为什么我的斜杠命令没有显示?
通常是机器人在邀请时没有包含 applications.commands 作用域,或者权限覆盖隐藏了它们。请检查服务器设置中的"集成"。
斜杠命令需要消息内容意图吗?
不需要。这正是它们的好处之一。机器人只接收你运行的命令。
我能重命名斜杠命令吗?
在 Discord 本身不行。Noxyr 提供自定义命令,可以在你的服务器中为其命令赋予新名称。