Javascript 使单词重新拼音,即使它是大小写混合的
所以我做了一个机器人,可以删除任何被列入黑名单的单词。但问题是,如果单词包含大写字母,机器人就不会对该单词进行重新命名。例如,你好。如果我输入hi,机器人将删除文本。但是如果我输入Hi或Hi,机器人将不会重新生成单词Javascript 使单词重新拼音,即使它是大小写混合的,javascript,discord.js,Javascript,Discord.js,所以我做了一个机器人,可以删除任何被列入黑名单的单词。但问题是,如果单词包含大写字母,机器人就不会对该单词进行重新命名。例如,你好。如果我输入hi,机器人将删除文本。但是如果我输入Hi或Hi,机器人将不会重新生成单词 bot.on(“消息”,(消息)=>{ 常量swearword=[“嗨”] if(swearword.some(word=>message.content.includes(word))){ message.delete(); 然后(m=>m.delete({timeout:60
bot.on(“消息”,(消息)=>{
常量swearword=[“嗨”]
if(swearword.some(word=>message.content.includes(word))){
message.delete();
然后(m=>m.delete({timeout:6000}));
log(message.author+(“说了黑名单上的单词”))
}});代码>在检查之前,您可以使用大写或小写字母
let swearWord=“该死”;
让输入字符串=“我会被诅咒”;
//检查前将单词小写
log(inputString.toLowerCase().includes(swearWord));
//正则表达式
console.log(/\bdamned\b/i.test(swearWord));
//或
log(RegExp(`b${swearWord}\\b`,`i`)test(swearWord))代码>您是否尝试使用toLowerCase()
重要的是要理解,如果要比较/检查swearWords
集合中的单词,则应将这两个单词转换为相同的格式
我建议查看toLowerCase()
功能以转换两个比较运算符toLowerCase()
您可以按以下方式更新代码:
bot.on("message", (message) => {
const swearword =["hi"]
// storing the incoming message content in lowercase in another variable.
const incomingMessage = message.content.toLowerCase()
if( swearword.some(word => incomingMessage.includes( word.toLowerCase() )) ) {
message.delete();
message.reply("That word is blacklisted").then(m => m.delete({timeout: 6000}));
console.log(message.author + (" said the blacklisted word"))
}});
使用以下命令将传入消息转换为小写:message.content.toLowerCase()
仅将传入消息内容
转换为小写可能仅在swearWords数组中的所有单词都是小写时才起作用。但是比较同一个案例中的单词是一个很好的做法
这当然是一个错误
bot.on("message", (message) => {
const swearword =["hi"]
// storing the incoming message content in lowercase in another variable.
const incomingMessage = message.content.toLowerCase()
if( swearword.some(word => incomingMessage.includes( word.toLowerCase() )) ) {
message.delete();
message.reply("That word is blacklisted").then(m => m.delete({timeout: 6000}));
console.log(message.author + (" said the blacklisted word"))
}});