Discordjs聊天过滤器

问题描述 投票:0回答:2

我正在制作discord.js机器人,我很好奇如何添加聊天过滤器。正如在用户说f***,它将自动删除。

json discord discord.js
2个回答
0
投票

你可以用一系列单词来做到这一点,

var profanities = ["test1", "test2", "..."];

然后在你的bot.on消息处理程序中,或者你如何使用它来处理消息,

bot.on('message', async message => {
    let msg = message.content.toLowerCase();
    let Admin = message.guild.roles.find('name', "Admin"); // Change this to meet what you want
    let General = message.guild.channels.find(`name`, "general"); // All text channels are lowecase. Change this to meet what you want
    for (x = 0; x < profanities.length; x++) {
        if(message.member.roles.has(Admin.id) || message.channel.id === General.id) return; // if you changed the name of the variables above, change these too.
        if (msg.includes(profanities[x])){
            await message.reply("You cannot say that here!")     
            message.delete()
            // Your code here
            return;     
        }
    }
});

编辑:这是非常基本的,它不会寻找替代字母,如$,@或数字/空格,除非你直接编码,你可以有一个单词列表,然后控制台记录每个单词的替代字母。


-1
投票
client.on('message', message => {
    message.delete(message.content.replace(/asshole/gi))
    .catch(console.error);
});

这只是一个例子,您可以使用文本数组。

© www.soinside.com 2019 - 2024. All rights reserved.