UNPKG

discord-starboard-plus

Version:

Discord Starboard Plus: A clean, maintainable starboard system for Discord.js bots. Features per-guild configuration, TypeScript support. Highlight your community's favorite messages with customizable starboards.

53 lines 1.83 kB
import type { GuildConfigManager as IGuildConfigManager, StarboardOptions, Snowflake } from '../types'; import { Logger } from '../utils/Logger'; /** * Manages per-guild configuration for the Starboard system. * Allows different servers to have different starboard settings. */ export declare class GuildConfigManager implements IGuildConfigManager { private readonly configs; private readonly defaultOptions; private readonly logger; constructor(defaultOptions: StarboardOptions, logger: Logger); /** * Set or update configuration for a specific guild. * Merges with existing config if present, otherwise uses defaults. */ setGuildConfig(guildId: Snowflake, options: Partial<StarboardOptions>): void; /** * Get configuration for a specific guild. * Returns guild-specific config if set, otherwise default options. */ getGuildConfig(guildId: Snowflake): StarboardOptions; /** * Check if a guild has custom configuration. */ hasGuildConfig(guildId: Snowflake): boolean; /** * Remove custom configuration for a guild. * The guild will fall back to default options. */ removeGuildConfig(guildId: Snowflake): boolean; /** * Get the default options. */ getDefaultOptions(): StarboardOptions; /** * Update the default options. * Affects all guilds without custom configuration. */ setDefaultOptions(options: Partial<StarboardOptions>): void; /** * Get all guilds with custom configuration. */ getConfiguredGuilds(): Snowflake[]; /** * Get total number of configured guilds. */ getConfiguredGuildCount(): number; /** * Clear all guild-specific configurations. */ clearAllConfigs(): void; } //# sourceMappingURL=GuildConfigManager.d.ts.map