将邮件的所有附件复制到嵌入

Copy all attachments of a message to an embed

提问人:Former 提问时间:11/18/2023 更新时间:11/21/2023 访问量:34

问:

我正在尝试使我的机器人可以完全复制消息,包括其所有附件(如果有)。

如何从我的班级中获取这些附件并将它们添加到我的嵌入中?Message

       attachment = message.attachments.first()
       if (message.attachments.size > 0) embed.setImage(attachment.url)

这就是我现在所拥有的,但如果有多个附件,则只会显示第一个附件。我怎样才能使所有附件都添加到嵌入中?

Discord .js 机器人

评论


答:

1赞 Jaxon Watt 11/21/2023 #1

您只获得第一个附件,因为您只获取第一个附件,该函数从邮件中获取第一个附件。<message>.attachments.first()

<message>.attachments返回消息中所有附件的集合,因此IMO最简单的方法是将其放入数组中并运行函数forEach()

let attachments = Array.from(message.attachments.values());
attachments.forEach(attachment => console.log(attachment.url))