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.
38 lines • 1.43 kB
TypeScript
import type { Client } from 'discord.js';
import type { Logger, StarboardOptions } from '../types';
import type { GuildConfigManager } from '../core/GuildConfigManager';
import type { ValidationService } from '../services/ValidationService';
import type { MessageSearchService } from '../services/MessageSearchService';
import type { EmbedBuilderService } from '../services/EmbedBuilderService';
/**
* Services injected into handlers
*/
export interface HandlerDependencies {
client: Client;
logger: Logger;
guildConfig: GuildConfigManager;
validation: ValidationService;
messageSearch: MessageSearchService;
embedBuilder: EmbedBuilderService;
}
/**
* Abstract base class for event handlers.
*/
export declare abstract class BaseHandler {
protected readonly client: Client;
protected readonly logger: Logger;
protected readonly guildConfig: GuildConfigManager;
protected readonly validation: ValidationService;
protected readonly messageSearch: MessageSearchService;
protected readonly embedBuilder: EmbedBuilderService;
constructor(dependencies: HandlerDependencies);
/**
* Handle the event. Must be implemented by subclasses.
*/
abstract handle(...args: unknown[]): Promise<void>;
/**
* Get options for a specific guild.
*/
protected getOptionsForGuild(guildId: string): StarboardOptions;
}
//# sourceMappingURL=BaseHandler.d.ts.map