UNPKG

discord-container-builder

Version:

A simplified, developer-friendly API for Discord.js v2 Components that reduces boilerplate and improves code readability.

61 lines 2.65 kB
import { ContainerBuilder as DiscordContainerBuilder, TextDisplayBuilder as DiscordTextDisplayBuilder, SeparatorBuilder as DiscordSeparatorBuilder, ActionRowBuilder as DiscordActionRowBuilder, MessageActionRowComponentBuilder } from 'discord.js'; import { TextDisplayBuilder } from './TextDisplayBuilder'; import { SeparatorBuilder } from './SeparatorBuilder'; import { ActionRowBuilder } from './ActionRowBuilder'; /** * Simplified ContainerBuilder that provides a cleaner API for creating Discord.js v2 Container components */ export declare class ContainerBuilder { private readonly container; constructor(); /** * Add text display components to the container * @param components - TextDisplayBuilder instances or raw Discord TextDisplayBuilders * @returns The ContainerBuilder instance for chaining */ addTextDisplayComponents(...components: (TextDisplayBuilder | DiscordTextDisplayBuilder)[]): this; /** * Add separator components to the container * @param components - SeparatorBuilder instances or raw Discord SeparatorBuilders * @returns The ContainerBuilder instance for chaining */ addSeparatorComponents(...components: (SeparatorBuilder | DiscordSeparatorBuilder)[]): this; /** * Add action row components to the container * @param components - ActionRowBuilder instances or raw Discord ActionRowBuilders * @returns The ContainerBuilder instance for chaining */ addActionRowComponents(...components: (ActionRowBuilder | DiscordActionRowBuilder<MessageActionRowComponentBuilder>)[]): this; /** * Add a text display with simplified API * @param content - The text content to display * @returns The ContainerBuilder instance for chaining */ addText(content: string): this; /** * Add a separator with simplified API * @param options - Optional separator configuration * @returns The ContainerBuilder instance for chaining */ addSeparator(options?: { spacing?: any; divider?: boolean; }): this; /** * Add an action row with simplified API * @param callback - Function to configure the action row * @returns The ContainerBuilder instance for chaining */ addActionRow(callback: (row: ActionRowBuilder) => void): this; /** * Build the final Discord.js ContainerBuilder * @returns The Discord.js ContainerBuilder instance */ build(): DiscordContainerBuilder; /** * Get the JSON representation of the container * @returns The JSON data */ toJSON(): any; } //# sourceMappingURL=ContainerBuilder.d.ts.map