Skip to content

Wrong encoding in file preview message with Buffer #6823

Open
@viruspowaa

Description

@viruspowaa

Description

Hello,

I try to send file from Buffer, but I have an issue with encoding. My file content is encode in 'utf-8' but Discord message preview is not.
When Discord unfurls the attachment as a preview, it looks like it's content sniffing. In this case, it appears to be text/plain; charset=ISO-8859-1.

bot.ts

import { AttachmentBuilder, Client, Events, GatewayIntentBits, TextChannel } from "discord.js";
import { Buffer } from "node:buffer";

const client = new Client({
  intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages],
});

client.once(Events.ClientReady, () => {
  // 🤖 Discord bot is ready! 🤖
});

client.on(Events.GuildAvailable, async (guild) => {
  const bufTest = Buffer.from("Récapitulatif", "utf-8");
  console.log("bufTest :>> ", bufTest);
  console.log("bufTest value :>> ", bufTest.toString());
  const channel = guild.channels.cache.get("<<CHANNEL_ID>>") as TextChannel;
  const bTst = new AttachmentBuilder(bufTest, {
    name: "tst.log",
    description: "Test",
  });
  channel.send({ content: "test 2", files: [bTst] });
});

client.login("<<TOKEN>>");

Console result

bufTest :>>  <Buffer 52 c3 a9 63 61 70 69 74 75 6c 61 74 69 66>
bufTest value :>>  Récapitulatif

Discord result

image

Steps to Reproduce

Run code of 'bot.ts' previously write

Expected Behavior

I want that Discord show the file in the good encoding

Current Behavior

Wrong encoding in preview

Screenshots/Videos

image

Client and System Information

Versions

"discord.js": "^14.12.1",
"dotenv": "^16.4.5",
"@types/node": "^20.11.20",
"tsup": "^8.0.2",
"tsx": "^4.7.1",
"typescript": "^5.3.3"

gateway intents

Guilds, GuildMessages

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugmessage componentsclick click click click click click clicksyncedSynced to internal tracker

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions