'MessageAttachment BufferResolvable

I am trying to send an embed with an image thumbnail, passing in Buffer in MessageAttachment but does still not show the image in embed thumbnail.

var attachment = new MessageAttachment(BufferData, `${player.username}_head.png`);

Example of the buffer.

<Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 b4 00 00 00 a7 08 06 00 00 00 b8 8f 76 07 00 00 08 06 49 44 41 54 78 9c ed dc ad ce 5d 45 14 ... 2061 more bytes>```



Solution 1:[1]

The attachment:// protocol is a Discord API feature, not Discord.JS.

To use it, you need to attach the file to the message, then use the attachment's name to use it as thumbnail.

const attachment = new MessageAttachment(BufferData, `${player.username}_head.png`);
const exampleEmbed = new MessageEmbed()
    .setTitle('Some title')
    .setImage(`attachment://${player.username}_head.png`);

channel.send({ embeds: [exampleEmbed], files: [attachment] });

The official guide has some examples: https://discordjs.guide/popular-topics/embeds.html#attaching-images

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Seblor