Automatically deletes messages containing a word in the bad word list. Supports Cyrillic and Unicode characters
// authenticates you with the API standard library
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
let badWordsList = [
'bad',
'evil',
'сдохни'
];
let regexString = '\\b' + badWordsList.map((badWord) => {
return badWord.split('').map(char => char.charCodeAt(0)).join('');
}).join('\\b|\\b') + '\\b';
let escapedContent = context.params.event.content.split(' ').map((word) => {
return word.split('').map(char => char.charCodeAt(0)).join('');
}).join(' ');
if (escapedContent.match(new RegExp(regexString, 'i'))) {
await lib.discord.channels['@0.1.1'].messages.destroy({
message_id: `${context.params.event.id}`,
channel_id: `${context.params.event.channel_id}`
});
await lib.discord.channels['@0.1.1'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: `Пожалуйста не используй эти слова на сервере, <@!${context.params.event.author.id}>`
});
}