Господа, такое дело, делаю антимат для discord бота, чтобы он заменял матные слова на цензура, принципе код написан, все отлично, но проблема в том, что бот видит матные слова в безобидных словах, например: "употреБЛЯТЬ" и успешно заменяет это слово на употрецензура, как это можно исправить?
Код:
let filterwordslist = ["мат", "этомат", "и это мат", "м а т"];
switch (true) {
case message.author.bot: return;
case new RegExp(filterwordslist.join("|")).test(message.content.toLowerCase()):
let edit = message.content.toLowerCase();
for (var i in filterwordslist) {
edit = edit.replace(new RegExp(filterwordslist[i], "gmi"), "`*цензура*`");
};
message.delete();
message.channel.send("", {
embed: new Discord.RichEmbed()
.setColor("RANDOM")
.setAuthor('FilterWords', message.guild.iconURL)
.setDescription(`${message.author}: ` + edit)
});
};
Попробуйте такой вариант:
let filterwordslist = ["мат", "этомат", "и это мат", "м а т"];
let edit = "мат слово мат м а т немат ЭТОМАТ ЭТОНЕМАТ";
filterwordslist.forEach(item => {
edit = edit.replace(
new RegExp(`(^|[^а-я])${item}([^а-я]|$)`, "gmi"),
"$1`*цензура*`$2"
);
});
console.log(edit);
Вопрос в следующем, имеется, допустим, 4 кнопки, при клике на кнопку текст в ней должен изменяться на "Открыто", сейчас же проблема в том, что...