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