Несколько префиксов Discord.js v12

#discord #discord.js

#Discord #discord.js

Вопрос:

я работаю над своим discord.js бот, и он только что был добавлен в top.gg и префикс — Kei, и люди хотят использовать kei или KEI, как у меня есть несколько префиксов в 1 проекте

Комментарии:

1. Не могли бы вы опубликовать фрагмент вашего обработчика команд?

2. Просто message.content введите свойство в нижний регистр и сравните его со строчным kei

Ответ №1:

Допустим, вызывается ваша префиксная переменная prefix .

 var prefix = "Kei";

if(message.content.startsWith(prefix) || message.content.startsWith(prefix.toLowerCase()) || message.content.startsWith(prefix.toUpperCase())) {
  //do something
}
 

В этом примере код будет выполняться, если сообщение начинается с префикса ( Kei ) или префикса в нижнем регистре, что означает префикс в нижнем регистре ( kei ) или префикс в верхнем регистре, что означает префикс в верхнем регистре ( KEI ).

Таким образом, префикс остается тем же, меняются только буквы. Для этого вам не нужно использовать несколько префиксов.

Ответ №2:

Это очень просто благодаря встроенному .toLowerCase() методу JavaScript. Вы можете просто преобразовать содержимое сообщения в нижний регистр, а затем проверить наличие префикса.

например

 const prefix = "Kei";

client.on("message", async message => {
    if (message.content.toLowerCase().startsWith(prefix)) {
        // do stuff
    }
});
 

Ответ №3:

Поместите этот код в message событие:

 const prefixes = ['!', '?', '/'];


let prefix = false;

for (const thisPrefix of prefixes) {
    if (message.content.startsWith(thisPrefix)) prefix = thisPrefix;
}

if (!prefix) return;
 

Ответ №4:

Это просто.

 client.on('message', (message) => {
    const prefixes = ['!', '?', '.'];
    let hasPrefix = false;
    prefixes.some(p => message.content.startsWith(p)) ? hasPrefix = true : null;
    if(!hasPrefix) return;
    //Start coding :)
}