Получение изображения URL из сообщения - PullRequest
1 голос
/ 28 марта 2019

Я хочу получить URL изображения или само изображение из сообщения и поместить его в мой код для вставки.Я понятия не имею, сделать это сам, надеюсь, вы можете помочь мне:)

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});
}
});

1 Ответ

0 голосов
/ 30 марта 2019

Вы можете просто использовать свойство .attachments из объекта сообщения.Это возвращает вам все вложения этого сообщения, включая все фотографии.С этого момента вы можете использовать свойство .url, и это дает вам URL-адрес изображения, который вы можете добавить в свой код для вставки.

В следующем коде я добавил проверку, есть ли даже вложения.Если да, добавьте первый URL-адрес изображения как изображение для вставки.

Вот код:

    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 });
    }
});
...