Discord.JS删除包含特定单词的消息

时间:2020-06-07 21:54:47

标签: javascript discord discord.js

因此,我也尝试向我的机器人添加主持人,并且由于我的服务器是完全SFW,所以我也尝试使其适应性,以便如果我的机器人包含NSFW单词,则它将删除一条消息,这是我的代码。我不确定它是否正确,但是它不起作用,所以我可以想象它不正确

message.content.includes === ("<Insert NSFW message or word here>")
message.delete(1)

我仍然在寻求帮助

2 个答案:

答案 0 :(得分:0)

if (message.content.includes("<Insert NSFW message or word here>"))
message.delete(1)

答案 1 :(得分:0)

到目前为止,您的表现很棒,

首先,我应该创建一个要检查的NSFW单词数组

例如:

const noNoWords = ["sex", "condum"];

完成后,您应该对数组进行刺激,看看邮件的内容是否包含NSFW字

例如:

const noNoWords = ["sex", "condum"];

client.on("message", message => {
    var content = message.content;

    for (var i = 0; i < noNoWords.length; i++) {
        if (content.includes(noNoWords[i])){  
            message.delete();
            break
        }
    }
}

这是可行的,但是如果人们键入CAPS则无法检测到,或者如果人们将其放置在空间中(例如t h i s),这将起作用。为了解决这个问题,我们需要删除所有特殊字符并使字符串小写。

例如:

var stringToCheck = content;
stringToCheck.replace(/\s+/g, '').toLowerCase();

然后将其插入,它应该看起来像这样:)

const noNoWords = ["sex", "condum"];

client.on("message", message => {
    var content = message.content;
    var stringToCheck = content.replace(/\s+/g, '').toLowerCase();

    for (var i = 0; i < noNoWords.length; i++) {
        if (content.includes(noNoWords[i])){  
            message.delete();
            break
        }
    }
}