我让机器人有一个前缀,代码如下:
if(msg.author.bot || !msg.content.startsWith(cfg.prefix))
return;
防止僵局,不必专注于不和谐的每一个书面文本。
我的问题或要求是,如果有一个特定的单词用不带前缀的不和谐写的话,我应该怎样才能做到这一点?
示例:Bot将会读取:
>command
(“>”作为前缀)
我怎么能让机器人读取前缀和没有前缀的命令?
示例:Bot可以读取每个前缀,这个唯一的命令没有前缀:
command that has no prefix
编辑:对不起,误解了你的问题,在这种情况下你需要使用这样的东西:
// if the author is bot exit immediately
if (msg.author.bot) return;
if (
msg.content.startsWith(prefix)
) switch (
msg.content.substr(msg.content.indexOf(prefix)) // this just removes the prefix from the beggining of the command
) {
case "cmd_with_prefix0":
...
break;
case "cmd_with_prefix1":
...
break;
} else switch (msg.content) {
case "cmd_without_prefix0":
...
break;
case "cmd_without_prefix1":
...
break;
}
这将匹配所有这些:
>cmd_with_prefix0
>cmd_with_prefix1
cmd_without_prefix0
cmd_without_prefix1
假设prefix
是>