首页 > 解决方案 > Discord bot 响应基于 javascript 中的变量

问题描述

我做了一个不和谐的机器人,当它听到朋友这个词时,它要求成为你的朋友,我希望机器人然后查看下一条消息,如果下一条消息包含“是”这个词,就做出回应。我尝试使用字符串,但无法弄清楚。到目前为止,这是我用 javascript 编写的内容:

client.on("message", (message) => {
  if (!message.content.includes("friend") || message.author.bot) return;

  message.reply(
    "Did someone say friends? I want a friend. Will you be my friend?"
  );

  message.channel
    .awaitMessages((m) => m.author === message.author, { max: 1 })
    .then((collected) => {
      if (collected.first().content.toLowerCase().includes("no")) {
        message.reply("That's not very nice");
      }
    });
});

标签: javascriptnode.jsdiscord.js

解决方案


您可以使用TextChannel.awaitMessages()

message.reply(
 'Did someone say friends? I want a friend. Will you be my friend?'
);

// await the next message sent (in that channel) by the message author
message.channel
 .awaitMessages((m) => m.author === message.author, { max: 1 })
 .then((collected) => {
  if (collected.first().content.toLowerCase().includes('hello')) {
   // do something
  }
 });

推荐阅读