в моем боте я применил фильтр ключевых слов, который бот просматривает в каждом сообщении, которое пишется в чате, до сих пор оно работает, но я хочу улучшить его, из соображений уважения я не буду здесь помещать слова, поэтомуЯ приведу еще один пример:
Бот обнаружит, если вы напишите, например, «vulgar», «badword», «hello»
Но я хочу добиться, чтобы определить, пишут ли они"hellooo", "vuulgarr", vulg4rr "
Это моя база, где хранятся слова:
badwords.js
var words = ["vulgar", "vulg4r", "hello", "badword4", "badword5"]
module.exports = words;
Это моя функция, котораяпроверяет, появляется ли плохое слово, разделяет любые слова и затем удаляет сообщение, если оно находит результат, с помощью indexOf ()
index.js
const _ = require('lodash');
const badwords = require('./badwords');
/**
* Functions
*/
// compares every word to badWords array from badWords.js
function checkWord(word) {
return badwords.indexOf(word) > -1;
}
/**
* Main Module
*/
module.exports = function (self, nick, channel, message) {
'use strict';
message = message.toLowerCase();
message = message.split(' ');
nick = nick;
channel = channel.toLowerCase();
for (var i = 0, len = message.length; i < len; i++) {
if (checkWord(message[i])) {
self.send('.ban', channel, nick);
}
}
}
Любая идея по улучшениюэто ?, спасибо