Embeds
Build rich embeds with EmbedBuilder and send them without toJSON().
Use EmbedBuilder for titles, fields, colors, and footers. Pass the builder into reply / send / edit directly. The SDK serializes it. An embed needs at least one of: title, description, fields, image, or thumbnail.
Minimal example
javascript
import { Client, Events, EmbedBuilder } from '@fluxerjs/core';
const client = new Client({ intents: 0 });
client.on(Events.MessageCreate, async (message) => {
if (message.content !== '!embed') return;
const embed = new EmbedBuilder()
.setTitle('Hello!')
.setDescription('This is a Fluxer embed.')
.setColor(0x5865f2)
.addFields(
{ name: 'Field 1', value: 'Value 1', inline: true },
{ name: 'Field 2', value: 'Value 2', inline: true },
)
.setFooter({ text: 'Powered by Fluxer.js' })
.setTimestamp();
await message.reply({ embeds: [embed] });
});
await client.login(process.env.FLUXER_BOT_TOKEN);Description only
No title required:
javascript
const embed = new EmbedBuilder()
.setDescription('Still a valid embed.')
.setColor(0x57f287);
await message.reply({ embeds: [embed] });Clearing fields
clearFields() is gone. Reset with setFields() and no args (or an empty array).
Editing later
Send first, then message.edit({ embeds: [updated] }). See Editing embeds and !editembed in ping-bot.
Media in embeds
Images, thumbnails, and animated flags: Embed media. Tenor: GIFs.