#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 :)
}