Есть команда без префикса? - PullRequest
0 голосов
/ 15 апреля 2019

Я заставил бота иметь префикс с кодом ниже:

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

, чтобы предотвратить восприятие ботом, и бот должен сосредоточиться на каждом отдельном тексте, находящемся в раздоре.

Моя проблема или просьба в том, чтобы, если есть конкретное слово, написанное в разногласиях без префикса, как я смогу этого добиться?

Пример: бот будет читать:

>command

(">" - префикс)

Как я могу заставить бота читать префикс и команду без префикса?

Пример: бот может читать каждый префикс, и это единственная команда, которая не имеет префикса:

command that has no prefix

1 Ответ

0 голосов
/ 15 апреля 2019

EDIT: Извините, неправильно понял ваш вопрос, в этом случае вам нужно использовать что-то вроде этого:

// 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 равно >

...