Discord 嵌入的用户图像
User image to Discord Embed
我想要获取用户发送的图像并将其放入机器人随后发送的嵌入中。由于图像必须是 url 而人发送图像,我不知道如何将此图像转换为 url。
执行命令时,嵌入发送但没有图像。这是我试过但没有用的方法:
const plotEmbed = new Discord.MessageEmbed()
.setTitle(`Purchase of the plot n°${plotId}`)
.setColor("GREEN")
.setDescription(`Purchase of plot ${plotId} for ${days} days.`)
.setImage(message.attachments.first.url)
.setTimestamp()
message.channel.send({ embeds: [pEmbed]})
如果有人能给我建议我应该尝试什么,因为我真的不知道......
感谢阅读。
使用message.attachments
给出一个集合,所以可以使用.map()
命令获取url。您所要做的就是将您的代码更改为:
const attachmentURL = message.attachments.map(attachment => attachment.url)
const plotEmbed = new Discord.MessageEmbed()
.setTitle(`Purchase of the plot n°${plotId}`)
.setColor("GREEN")
.setDescription(`Purchase of plot ${plotId} for ${days} days.`)
.setImage(attachmentURL[0])
.setTimestamp()
message.channel.send({
embeds: [pEmbed]
})
这可能只是因为 pEmbed 是在您的代码片段之前声明的,但只是想告诉您正在发送一个名为 pEmbed
的嵌入,而当前代码片段中的嵌入位于一个名为 plotEmbed
,所以你可能想改变它。
编辑:
刚刚找到了另一种更简单的方法。您刚刚在调用 message.attachments.first
时犯了一个错误。它实际上应该是 message.attachments.first().url
因为 first()
实际上是一个函数。所以这也应该像我发布的第一种方法一样工作
我想要获取用户发送的图像并将其放入机器人随后发送的嵌入中。由于图像必须是 url 而人发送图像,我不知道如何将此图像转换为 url。 执行命令时,嵌入发送但没有图像。这是我试过但没有用的方法:
const plotEmbed = new Discord.MessageEmbed()
.setTitle(`Purchase of the plot n°${plotId}`)
.setColor("GREEN")
.setDescription(`Purchase of plot ${plotId} for ${days} days.`)
.setImage(message.attachments.first.url)
.setTimestamp()
message.channel.send({ embeds: [pEmbed]})
如果有人能给我建议我应该尝试什么,因为我真的不知道...... 感谢阅读。
使用message.attachments
给出一个集合,所以可以使用.map()
命令获取url。您所要做的就是将您的代码更改为:
const attachmentURL = message.attachments.map(attachment => attachment.url)
const plotEmbed = new Discord.MessageEmbed()
.setTitle(`Purchase of the plot n°${plotId}`)
.setColor("GREEN")
.setDescription(`Purchase of plot ${plotId} for ${days} days.`)
.setImage(attachmentURL[0])
.setTimestamp()
message.channel.send({
embeds: [pEmbed]
})
这可能只是因为 pEmbed 是在您的代码片段之前声明的,但只是想告诉您正在发送一个名为 pEmbed
的嵌入,而当前代码片段中的嵌入位于一个名为 plotEmbed
,所以你可能想改变它。
编辑:
刚刚找到了另一种更简单的方法。您刚刚在调用 message.attachments.first
时犯了一个错误。它实际上应该是 message.attachments.first().url
因为 first()
实际上是一个函数。所以这也应该像我发布的第一种方法一样工作