Фильтр ненормативной лексики - PullRequest
0 голосов
/ 23 января 2019

Хей, ребята. Я пытаюсь сделать фильтр ненормативной лексики. У меня уже есть один, как выглядит:

for(x = 0; x < profanities.length; x++) {
  if(message.content.toUpperCase() == profanities[x].toUpperCase()) {
    message.channel.send('Hey! Don\'t say that!')
    message.delete();
    return;
  }
}

Но это удаляет все сообщения. Я хочу сделать один, который просто отфильтровать ненормативную лексику, и я сделал это:

for(x = 0; x < profanities.length; x++) {
var msg2 = message.content.toUpperCase().includes(profanities[x]).toUpperCase()
  if (msg2) {
    while (msg2) {
      censor(msg, profanities[x].toUpperCase(), ';)')
    }
    message.channel.send(msg)
    message.delete();
    return;
  }
}

Перемены и веселье, что может быть важно:

var msg = message.content.toUpperCase();

function censor(text, toChange, newWord) {


var toReturn = text;
while (toReturn.includes(toChange)) {
    toReturn = toReturn.replace(toChange, newWord);
}


return toReturn;
}`var profanities = require('profanities');`

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Фильтр ненормативной лексики на самом деле довольно легко создать.Просто используйте этот код!

const Discord = require('discord.js');
const client = new Discord.Client();
const token = 'XXXXXXXXX'; //Token (DO NOT SHARE WITH OTHERS!!!)

client.login(token);

client.on('message', message => {

    var msg = message.content.toUpperCase();

    // Profanity Filter //
    if(msg.includes('PROFAIN WORD HERE')) { //Checks message for profanity
        message.delete(); //Deletes the message
        message.author.send(message.author + ', PLEASE DO NOT USE PROFANITY. YOU WILL BE TEMPORARILY MUTED ASAP.') //Sends warning to user in DM
    }
});

Если вы хотите, чтобы код работал, всегда оставляйте слово msg.includes заглавными.Наличие строчных букв в слове или фразе не заставит код работать.

0 голосов
/ 23 января 2019

Невозможно, Вы не можете редактировать сообщение пользователя через бота Discord.Вы можете удалить сообщение и отправить его без ненормативной лексики через бота

...