有没有前缀的命令?

问题描述 投票:-2回答:1

我让机器人有一个前缀,代码如下:

if(msg.author.bot || !msg.content.startsWith(cfg.prefix))
    return;

防止僵局,不必专注于不和谐的每一个书面文本。

我的问题或要求是,如果有一个特定的单词用不带前缀的不和谐写的话,我应该怎样才能做到这一点?

示例:Bot将会读取:

>command

(“>”作为前缀)

我怎么能让机器人读取前缀和没有前缀的命令?

示例:Bot可以读取每个前缀,这个唯一的命令没有前缀:

command that has no prefix
node.js discord discord.js prefix
1个回答
0
投票

编辑:对不起,误解了你的问题,在这种情况下你需要使用这样的东西:

// 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>

© www.soinside.com 2019 - 2024. All rights reserved.