我在Discord机器人上添加“自动审核”功能时遇到问题

时间:2020-08-15 05:00:29

标签: javascript node.js discord discord.js

今天,我真的需要一些我想包含在我的第一个Discord Bot中的“​​自动审核”功能的帮助,该功能是用JavaScript编码的。另外,我真的是这种编程语言和discord.js的新手,所以我真的不知道如何正确使用所有参数。

无论如何,关键是,我希望我的机器人对我的Discord Server的每个成员发送的消息进行分析,并在所说的消息中寻找令人反感或不合适的词语。如果找到至少一个,它将发送一条消息,提及发送该消息的成员以及警告命令。

我让机器人在检测到令人反感的单词时正确注册成员的用户名,并发送带有上述名称的消息,问题是它只写@(username),而没有提及并警告该成员。在没有其他信息可以带给您的情况下,我将为您提供代码:

client.on('message', message => {
    if (message.toString().toLowerCase().includes("idiot")) {
        var y = message.author.username
        message.channel.send("!warn " + "@" + y + "Use of offensive language.");
    }
});

如果您能帮助我解决这个小问题,我将不胜感激。感谢您抽出宝贵的时间阅读本文,祝您愉快。

2 个答案:

答案 0 :(得分:0)

您可以使用语法<@USERID>来提及用户。

此外,最好获取消息的内容而不是.toString()。

client.on('message', message => {
    if (message.content.toLowerCase().includes("idiot")) {
        message.channel.send("!warn <@" + message.author.id + "> Use of offensive language.");
    }
});

答案 1 :(得分:0)

client.on("message", message => {
    if (message.content.toLowerCase().includes("idiot")) {
        message.channel.send(`!warn ${message.author.member} Use of offensive language.`);
    }
});

或者仅使用message.author.member即可完成相同操作。 您可以将代码放在此符号“`”之间,而不要放在双引号之间,以使代码更易于阅读。您可以使用${variable}添加变量。