Discord 前缀命令:它是什么,以及为什么正在淡出
前缀命令是以普通消息形式输入、以简短符号(例如 ! 或 $)开头的机器人命令,例如 $help。 机器人会读取每条消息以发现前缀,这就是为什么前缀命令需要"消息内容"特权意图。
前缀命令如何工作
在斜杠命令出现之前,这是唯一的方式。机器人会监视它能看到的频道中的每条消息。如果文本以它的前缀开头,它就把其余部分拆分为命令名称和参数,然后运行该命令。前缀只是机器人所选的一种约定,因此每个机器人都有自己的前缀。
同一服务器中两个前缀相同的机器人都会回复,这是重复回复的常见来源。
与斜杠命令相比的限制
- 没有菜单或自动补全,因此成员必须记住确切的名称。
- 机器人必须读取所有消息文本。自 2022 年以来,这需要消息内容特权意图。
- 没有通过 Discord 集成页面进行的内置权限控制,因此每个机器人都要自行检查权限。
- 拼写错误只能由机器人发现,而不能由 Discord 发现。
尽管如此,许多成员仍然觉得输入一条简短的命令更快,尤其是对于音乐机器人,有些机器人两者都保留。更完整的看法请阅读前缀与斜杠命令一文。
Noxyr 中的前缀
Noxyr 两种方式都支持每个命令。以服务器前缀开头的消息会被转换为斜杠命令所发出的同一请求,并运行相同的代码,因此权限和行为保持一致。默认前缀是 $。子命令紧跟在名称之后($music settings),选项使用 名称:值 的形式,未命名的单词按顺序填充必需选项,因此 $play never gonna give you up 也能正常工作。
/prefix view显示当前前缀。/prefix set将其更改为 1 到 5 个字符且不含空格,例如!、?或n!。/prefix reset恢复为$。
你也可以在控制面板的"设置"或"自定义命令"页面中设置它。打开弹窗的表单只能通过斜杠菜单使用。详情见前缀文档,而更改机器人前缀指南会逐步讲解。
选择前缀
选择服务器中其他机器人没有使用的内容。像 n! 这样的两个字符很少会冲突。如果你还想要不同的命令名称,请使用自定义命令。
快速提示
保持前缀简短,并且不太可能出现在普通聊天的开头。在规则或欢迎消息中告诉成员它的存在,并为他们每天使用的命令置顶一份简短的列表。
常见问题
Noxyr 的默认前缀是什么?
默认是 $。使用 /prefix set 更改,长度为 1 到 5 个字符。
前缀命令需要特殊权限吗?
机器人需要消息内容意图才能读取它们。Noxyr 对它们应用与斜杠版本相同的权限检查。
为什么两个机器人回复同一个命令?
它们的前缀相同。为每个机器人设置不同的前缀,以避免重复回复。