"如果"声明表演喜欢"而#34;环

时间:2018-01-25 01:10:51

标签: javascript node.js discord.js

我开始制作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" (例如),它发送"回复"直到脚本停止 你能帮我解决一下这个问题吗?

2 个答案:

答案 0 :(得分:2)

再次阅读我的代码后,问题是回复中包含" text"。

我找到了解决方案:

const Discord = require("discord.js");
const bot = new Discord.Client();
const token = 'NDA1ODQxMjg5NzU0NTc0ODQ5.DUqQww.HwSaa8TagR1mMGsVpdMDUm6-7tI';

bot.login(token);

bot.on('message', message => 
{    
   messageInput = message.content.toLowerCase();
   botId = bot.user.discriminator
   userId = message.author.discriminator
   console.log(botId)
   console.log(userId)
   console.log(messageInput)
    if(userId !== botId)
    {
        if(messageInput.includes("text"))
        {
            message.channel.send(" reply text ");
    }
}

})

答案 1 :(得分:2)

您正在发送消息"回复文字"它本身包含单词" text"。

更改您的示例以使用其他词组。

for i=1 to n
  for j = i+1 to n
    B[i,j] = 0
    for i < j: 
      B[i,j] += A[i,j]
return B

此外,在评论中进一步讨论后,如果您希望客户忽略自己的消息,您可以尝试以下方式:

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

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