Member 14901420 Ответов: 1

Как мне сделать пространство команд моего бота нечувствительным discord.js


Я хочу сделать пространство команд моего бота нечувствительным. Каждый раз, когда я делаю что-то вроде "go rps" , неизвестная команда все равно выводится, хотя go rps-это команда. Для такой команды, как "просмотр" , работает неизвестная командная вещь. У меня есть свой код, связанный ниже! Я понял, как сделать его нечувствительным к регистру, но не к пространству. Этот код я нашел в интернете несколько часов назад. Единственное, что сработало. Может кто-нибудь, пожалуйста, помочь мне получить интервалы, например, "go rps" должен работать. В любом случае, пожалуйста, помогите. Спасибо.

Что я уже пробовал:

client.on('message', (message) => {
    if(!message.content.startsWith(PREFIX)) return;
    let validCommands = ["go rps", "go mountains", "go hills", "go cannons", "go left", "go east", "go west", "view", "holler"];
    // Added the .toLowerCase() function vvv to make everything work both ways 
    const args = message.content.toLowerCase().substring(PREFIX.length).slice().split(/ /);;
    const command = args.shift();
    const isValid = validCommands.includes(command); 
    const unknowncommand = new Discord.MessageEmbed()
    .setColor('GREEN')
    .setTitle('SCOTT')
    .setDescription('You\'ve entered an unknown command. \nUse **!help** to see all available commands.')   
    if(!isValid){
        if(message.author.bot) return;
        return message.channel.send(unknowncommand), console.log(`[SCOTT] ${message.author.username} entered an unknown command in "${message.guild.name}".`);
    }
});

1 Ответов

Рейтинг:
2

Richard MacCutchan

Почему бы сначала не разделить командную строку и не проверить, является ли первое слово "go". Если это так, то проверьте второе слово против отдельного списка команд "go". Таким образом, у вас будет два списка команд:

let validCommands = ["go , "view", "holler"];

let goCommands = ["rps", "mountains", "hills", "cannons", "left", "east", "west" ];