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
TypeScript
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