Component & Embed Builders
lunibee (builders) provides strict builders that validate Discord constraints before network dispatch.
Embed Builder
Section titled โEmbed Builderโimport { EmbedBuilder } from "lunibee";const embed = new EmbedBuilder() .setTitle("Lunibee Status ๐") .setDescription("All systems fully operational.") .setColor(0xf59e0b) .setThumbnail("https://example.com/icon.png") .addFields( { name: "Ping", value: "24ms", inline: true }, { name: "Uptime", value: "99.99%", inline: true } ) .setFooter({ text: "Powered by Bun & Lunibee" }) .setTimestamp();import { EmbedBuilder } from "lunibee";const embed = new EmbedBuilder() .setTitle("Lunibee Status ๐") .setDescription("All systems fully operational.") .setColor(0xf59e0b) .setThumbnail("https://example.com/icon.png") .addFields( { name: "Ping", value: "24ms", inline: true }, { name: "Uptime", value: "99.99%", inline: true } ) .setFooter({ text: "Powered by Bun & Lunibee" }) .setTimestamp();Button & Action Row Builders
Section titled โButton & Action Row Buildersโimport { ActionRowBuilder, ButtonBuilder, ButtonStyle } from "lunibee";const primaryBtn = new ButtonBuilder() .setCustomId("primary_action") .setLabel("Click Me!") .setStyle(ButtonStyle.Primary) .setEmoji("๐");const linkBtn = new ButtonBuilder() .setLabel("Documentation") .setStyle(ButtonStyle.Link) .setURL("https://github.com/Ekretos/lunibee");const row = new ActionRowBuilder().addComponents(primaryBtn, linkBtn);await channel.send({ content: "Choose an option:", components: [row],});import { ActionRowBuilder, ButtonBuilder, ButtonStyle } from "lunibee";const primaryBtn = new ButtonBuilder() .setCustomId("primary_action") .setLabel("Click Me!") .setStyle(ButtonStyle.Primary) .setEmoji("๐");const linkBtn = new ButtonBuilder() .setLabel("Documentation") .setStyle(ButtonStyle.Link) .setURL("https://github.com/Ekretos/lunibee");const row = new ActionRowBuilder().addComponents(primaryBtn, linkBtn);await channel.send({ content: "Choose an option:", components: [row],});Select Menu Builders
Section titled โSelect Menu Buildersโimport { ActionRowBuilder, StringSelectBuilder } from "lunibee";const select = new StringSelectBuilder() .setCustomId("select_role") .setPlaceholder("Select a role...") .addOptions( { label: "Developer", value: "dev", emoji: "๐ป" }, { label: "Designer", value: "designer", emoji: "๐จ" } );const row = new ActionRowBuilder().addComponents(select);import { ActionRowBuilder, StringSelectBuilder } from "lunibee";const select = new StringSelectBuilder() .setCustomId("select_role") .setPlaceholder("Select a role...") .addOptions( { label: "Developer", value: "dev", emoji: "๐ป" }, { label: "Designer", value: "designer", emoji: "๐จ" } );const row = new ActionRowBuilder().addComponents(select);