const filter = ["bad1", "bad2"];
client.on("message", message => {
var content = message.content;
var stringToCheck = content.replace(/\s+/g, '').toLowerCase();
for (var i = 0; i < filter.length; i++) {
if (content.includes(filter[i])){
message.delete();
break
}
}
});
所以我上面的代码是一个不和谐的机器人,当有人写“bad1”“bad2”(我要添加一些经过过滤的坏词)时,它会删除这些词,幸运的是没有任何错误。
但现在,机器人只会删除这些以小写字母书写且中间没有空格或特殊字符的单词。
我想我已经找到了一个解决方案,但我似乎无法将其放入我的代码中,我的意思是我尝试了不同的方法,但它要么删除了小写单词,要么根本没有反应,而是出现了诸如“无法读取属性”之类的错误未定义的”等
var badWords = [
'bannedWord1',
'bannedWord2',
'bannedWord3',
'bannedWord4'
];
bot.on('message', message => {
var words = message.content.toLowerCase().trim().match(/\w+|\s+|[^\s\w]+/g);
var containsBadWord = words.some(word => {
return badWords.includes(word);
});
这就是我正在看的。线var words。具体来说(/\w+|\s+|[^\s\w]+/g);。
无论如何,要将其实现到我的 const 过滤器代码(顶部/上方)中还是采用不同的方法?提前致谢。
海绵宝宝撒
相关分类