如何使不和谐机器人的命令不区分大小写


const Discord = require("discord.js");
//ignore 1 up and 1 down
const client = new Discord.Client();
//prefix 
const prefix = `+`;
//log for me
client.once(`ready`, () => {
console.log("IM POWERED UP")
});

//commands
client.on(`message`, message =>{
const args = message.content.slice(prefix.lengh).split(/ +/);
//Username..(embed)
if (message.content === `${prefix}Username`){
let messageArray = message.content.split(" ");
let args = message.content.split(` `);
let command = messageArray[1].toLowerCase();
const embed = new Discord.MessageEmbed()
.setTitle(`user information`)
.addField(`Your Username is`, message.author.username)
.addField(`Bugs`, `To report bugs please go to TxPsycho#1080 and you may earn a reward!`)
.setThumbnail(message.author.displayAvatarURL())
.setFooter(`Wanna get Valorant cheats? Join here`)
.setColor(`RANDOM`)
message.channel.send(embed);
}

//help command
if (message.content === `${prefix}Help`){
const embed = new Discord.MessageEmbed()
.setTitle(`Help`)
.addField(`A list of commands are below!`)
.setThumbnail(message.author.displayAvatarURL())
.setDescription(`AMOTHERFUCKINGTESTYOUMOTHERFUCKAYOUTHINKITSFUNNYCALLINGAT2AM`)
.setColor(`RANDOM`)
message.channel.send(embed);
}
});

//ignore this and leave it at bottom
client.login(`Nz`)

我不确定如何使命令大写不敏感,这是它给我的错误。我一直在寻找,但没有找到任何信息。下面是我在尝试调试代码时收到的错误的链接。

单击此处查看错误图片

就像流氓说的那样,问题在这里调用了未定义的小写:

let command = messageArray[1].toLowerCase();

真正的命令应该是 0,因为数组是 0 索引的

您可能希望改为shift它,以便更轻松地获得参数:

消息:!help 12 24 36

const args = message.content.split(" ");
const command = args.shift().toLowerCase();
console.log(args);
// => [12, 24, 36]
console.log(args[0]);
// => 12

之后,您只需比较command而不是message.content:

if(command === "!help") {

}

您可以使用toLowerSim清理消息

console.log('ALPHABET'.toLowerCase()); // 'alphabet'
console.log('aLPhABeT'.toLowerCase()); // 'alphabet'
console.log('alphabet'.toLowerCase()); // 'alphabet'

最新更新