如何对消息附件 discord.js 做出反应

时间:2021-02-11 06:00:21

标签: node.js discord.js

所以我想做的是,我的 discord bot 侦听附件,然后将它们发送到特定频道,我希望它也用 ? 和 ? 做出反应,现在我看到了一些解决方案,但它们需要消息 ID和频道 id,我的频道 id 将保持不变,但每次我发送附件时我的消息 id 都会更改我如何制作它以便它对进入该频道的附件做出反应

我的代码:-

client.on("message", async message => {
  message.attachments.forEach((attachment) => {
    if (attachment.width && attachment.height) {
      if (message.author.bot) return
      let yes = attachment
      const channel = client.channels.cache.find(channel => channel.name === "llllllounge")
      channel.send(yes)
        .then(() => attachment.react('?'))
        .then(() => attachment.react('?'))
    }
  });
})

我尝试过 yes.react('?') 但它不起作用并回复 yes.react is not a function
如果有人帮助我,将不胜感激。

1 个答案:

答案 0 :(得分:1)

Channel#send 返回一个承诺。这意味着我们可以使用 asynchronous function 来定义使用 await(在定义之前发送消息)的通道发送方法,并使我们的机器人对新发送的消息做出反应。

最终代码

client.on("message", message => {
  message.attachments.forEach(async (attachment) => {
    if (attachment.width && attachment.height) {
      if (message.author.bot) return
      let yes = attachment
      const channel = client.channels.cache.find(channel => channel.name === "llllllounge")
      const msg = await channel.send(yes)
        await msg.react('?')
        msg.react('?')
    }
  });
})