Node.js 从消息中获取图像URL
我想从消息中获取图像URL或图像本身,并将其放入我的嵌入文件中。我自己也不知道该怎么做,希望你能帮我:)Node.js 从消息中获取图像URL,node.js,discord,discord.js,Node.js,Discord,Discord.js,我想从消息中获取图像URL或图像本身,并将其放入我的嵌入文件中。我自己也不知道该怎么做,希望你能帮我:) 您只需使用message对象中的.attachments属性即可。这将返回此邮件的所有附件,包括所有图片。从那时起,您可以使用属性.url,这将为您提供可以添加到嵌入中的图像url 在下面的代码中,我添加了一个检查是否有附件。如果是,则添加第一个图像url作为嵌入的图像 代码如下: 您只需使用message对象中的.attachments属性即可。这将返回此邮件的所有附件,包括所有图片。从
您只需使用message对象中的
.attachments
属性即可。这将返回此邮件的所有附件,包括所有图片。从那时起,您可以使用属性.url
,这将为您提供可以添加到嵌入中的图像url
在下面的代码中,我添加了一个检查是否有附件。如果是,则添加第一个图像url作为嵌入的图像
代码如下:
您只需使用message对象中的
.attachments
属性即可。这将返回此邮件的所有附件,包括所有图片。从那时起,您可以使用属性.url
,这将为您提供可以添加到嵌入中的图像url
在下面的代码中,我添加了一个检查是否有附件。如果是,则添加第一个图像url作为嵌入的图像
代码如下:
欢迎来到Stackoverflow!你能给我们更多的细节吗。它是公会文本频道中的普通文本消息还是RichEmbed?消息是否只是一个带有图像的url,或者其中是否还有其他文本,并且您希望找到url所在的位置。。。回答这些问题将有助于我们帮助您!:)这是公会文本频道中的一条普通文本消息,消息上会附加文本和图像。图像通常直接上传到discord,因此没有直接链接。我希望它重新创建一个richEmbed消息,这样它会有一个引用的感觉。希望这有帮助,泰:)我希望它看起来像这样欢迎来到Stackoverflow!你能给我们更多的细节吗。它是公会文本频道中的普通文本消息还是RichEmbed?消息是否只是一个带有图像的url,或者其中是否还有其他文本,并且您希望找到url所在的位置。。。回答这些问题将有助于我们帮助您!:)这是公会文本频道中的一条普通文本消息,消息上会附加文本和图像。图像通常直接上传到discord,因此没有直接链接。我希望它重新创建一个richEmbed消息,这样它会有一个引用的感觉。希望这有帮助,泰:)我希望它看起来像这样。当我在邮件中添加表情符号时,它会崩溃,你能帮我显示错误表情符号事件是否存在?尝试删除此表情符号的这一行,因为这是另一个问题。尝试使用消息测试代码。附件请@Blydexer:UnhandledPromisejectionWarning:TypeError:无法读取未定义的属性“url”。我修复了代码中的一个问题。你能再试一次吗?请@blydexit仅在邮件有图像时有效,而不是只有文本时有效。当我将表情符号添加到邮件中时,它会崩溃,你能帮我显示错误表情符号事件是否存在?尝试删除此表情符号的这一行,因为这是另一个问题。尝试使用消息测试代码。附件请@Blydexer:UnhandledPromisejectionWarning:TypeError:无法读取未定义的属性“url”。我修复了代码中的一个问题。你能再试一次吗?@blydexit仅在邮件有图像时有效,而只有文本时无效
client.on('messageReactionAdd', (reaction, user, message) => {
const eggsa = client.emojis.find(emoji => emoji.name === "eggsa");
if (reaction.emoji.name === 'eggsa') {
const msg = reaction.message;
const guild = msg.guild;
const guildMembers = guild.members;
const guildMember = guildMembers.get(user.id);
if (!guildMember.roles.some(r=>["Leder"].includes(r.name)) ) return guildMember.send(" ',:^\\ ");
const message = reaction.message;
const kanal = reaction.message.guild.channels.find('name', 'sitater');
var embed = new Discord.RichEmbed()
.setDescription(message.content)
.setTimestamp()
.setFooter(message.author.username, reaction.message.author.avatarURL)
.setImage()
kanal.send({embed});
}
});
client.on('messageReactionAdd', (reaction, user, message) => {
const eggsa = client.emojis.find(emoji => emoji.name === 'eggsa');
if (reaction.emoji.name === 'eggsa') {
const msg = reaction.message;
const guild = msg.guild;
const guildMembers = guild.members;
const guildMember = guildMembers.get(user.id);
if (!guildMember.roles.some(r => ['Leder'].includes(r.name))) return guildMember.send(" ',:^\\ ");
const message = reaction.message;
const kanal = reaction.message.guild.channels.find('name', 'sitater');
const embed = new Discord.RichEmbed()
.setDescription(message.content)
.setTimestamp()
.setFooter(message.author.username, reaction.message.author.avatarURL);
if (message.attachments.size !== 0) {
embed.setImage(message.attachments.first().url);
}
kanal.send({ embed });
}
});