import { Colors, type ColorResolvable, EmbedBuilder } from "discord.js"; /** * Creates a standardized error embed. * @param message The error message to display. * @param title Optional title for the embed. Defaults to "Error". * @returns An EmbedBuilder instance configured as an error. */ export function createErrorEmbed(message: string, title: string = "Error"): EmbedBuilder { return new EmbedBuilder() .setTitle(`❌ ${title}`) .setDescription(message) .setColor(Colors.Red) .setTimestamp(); } /** * Creates a standardized warning embed. * @param message The warning message to display. * @param title Optional title for the embed. Defaults to "Warning". * @returns An EmbedBuilder instance configured as a warning. */ export function createWarningEmbed(message: string, title: string = "Warning"): EmbedBuilder { return new EmbedBuilder() .setTitle(`⚠️ ${title}`) .setDescription(message) .setColor(Colors.Yellow) .setTimestamp(); } /** * Creates a standardized success embed. * @param message The success message to display. * @param title Optional title for the embed. Defaults to "Success". * @returns An EmbedBuilder instance configured as a success. */ export function createSuccessEmbed(message: string, title: string = "Success"): EmbedBuilder { return new EmbedBuilder() .setTitle(`✅ ${title}`) .setDescription(message) .setColor(Colors.Green) .setTimestamp(); } /** * Creates a standardized info embed. * @param message The info message to display. * @param title Optional title for the embed. Defaults to "Info". * @returns An EmbedBuilder instance configured as info. */ export function createInfoEmbed(message: string, title: string = "Info"): EmbedBuilder { return new EmbedBuilder() .setTitle(`ℹ️ ${title}`) .setDescription(message) .setColor(Colors.Blue) .setTimestamp(); } /** * Creates a standardized base embed with common configuration. * @param title Optional title for the embed. * @param description Optional description for the embed. * @param color Optional color for the embed. * @returns An EmbedBuilder instance with base configuration. */ export function createBaseEmbed(title?: string, description?: string, color?: ColorResolvable): EmbedBuilder { const embed = new EmbedBuilder() .setTimestamp(); if (title) embed.setTitle(title); if (description) embed.setDescription(description); if (color) embed.setColor(color); return embed; }