我已经开始创建Discord机器人。问题出在这里:机器人正在发送垃圾邮件。我希望他在条件为真时仅发送一条消息。我正在使用if语句,但是它的作用类似于while循环。这是代码:

const Discord = require("discord.js");
const client = new Discord.Client();
const token = 'TotallyNotMyRealToken';

client.login(token);

client.on('message', message =>
{
    if(message.content.includes("text"))
    {
        message.channel.send(" reply text");
    }
})


例如,当我键入“文本”时,它将发送“答复”,直到脚本停止。
您能帮我解决问题吗?

最佳答案

您正在发送一条消息“回复文本”,其中本身包含单词“ text”。

更改示例以使用其他短语。

client.on('message', message =>
{
    if(message.content.includes("text"))
    {
        message.channel.send(" this is a reply");
    }
})


此外,在评论中进行进一步讨论时,如果您希望客户端忽略其自身的消息,则可以尝试以下操作:

client.on('message', message =>
{
    if(message.content.includes("text") && message.author.user.id !== client.user.id)
    {
        message.channel.send(" reply text");
    }
})


https://discord.js.org/#/docs/main/stable/class/Message?scrollTo=client

08-19 15:48