我是javascript的新手,目前正在处理不和谐的机器人
我编码了一个机器人程序,它会响应消息,但当我用大写字母输入或通过给空间,机器人程序没有响应时,请帮我修复此
这是我的代码,如果我给出类似";嗨,兄弟
它不响应
bot.on("message", async message => {
if(message.author.bot || message.channel.type == 'dm') return;
let prefix = "-";
let messageArray = message.content.split(" ");
let cmd = messageArray[0];
let args = messageArray.slice(1);
if(cmd === `${prefix}hibro`) {
return message.reply("Hi bro!")
}
)}
大多数情况下,您的解决方案是将所有字母小写或大写。这取决于你,但最好是lowercase
。也可以使用trim()
来避免多个空格。
const str = 'Whatever Text You Want';
const res = str.replace(/s+/g,'').toLowerCase();
console.log(res)
使字符串小写后进行比较。示例
var str = "Hello World!";
var res = str.toLowerCase();
如果您想将所有字母转换为小写,那么Javascript有可用于字符串的toLowerCase()
方法。要替换空白,可以使用replace
方法。
因此,以下代码将给出输出:hibro!
"Hi bro!".toLowerCase().replace(/s/g,'')
/s/g
查找字符串中出现的所有空白。
您可以尝试以下方法,
const str1 = 'Whatever Text You Want';
var k=[...str1.toLocaleLowerCase()];
var s='';
k.forEach(temp=>{
s+=(temp!=' ')?temp:''
})
a.trim((只删除字符串末尾和开头的尾随空格,不会捕获空格之间的空格。
也许你可以在这里参考String.protype.trim((MDN文档
这就足够了。
如果使用message.content获取消息,则使用replaceAll将所有空格替换为破折号,并使用.toLowerCase((将其转换为小写
message.content.replaceAll(' ', '-').toLowerCase()