UNPKG

@botport/dev

Version:

Framework for our Discord bot products, published by BotPort.

93 lines (78 loc) 2.54 kB
// Main module declarations declare module '@botport/framework' { // Database types export interface Database { query(sql: string, params?: any[]): Promise<any>; execute(sql: string, params?: any[]): Promise<any>; } export const db: Database; export function initDatabases(): Promise<void>; // Error handler types export class ErrorHandler { static handle(error: Error, context?: any): void; static handleError(error: any, context: string, logger: any): void; static handleAndCheckCritical(error: any, context: string, logger: any): boolean; } // Interaction handler types export interface InteractionContext { [key: string]: any; } export interface Client { [key: string]: any; } export interface Logger { log(message: string): void; error(message: string): void; warn(message: string): void; info(message: string): void; } export function handleInteraction( interaction: InteractionContext, client: Client, logger: Logger ): Promise<void>; export function logBanner(): void; // Main framework class export interface BotFrameworkOptions { showBanner?: boolean; [key: string]: any; } export class BotFramework { constructor(options?: BotFrameworkOptions); initialize(): Promise<void>; getDatabase(): Database; getErrorHandler(): typeof ErrorHandler; handleInteraction( interaction: InteractionContext, client: Client, logger: Logger ): Promise<void>; } export default BotFramework; } // Submodule declarations declare module '@botport/framework/lib/database/db' { export interface Database { query(sql: string, params?: any[]): Promise<any>; execute(sql: string, params?: any[]): Promise<any>; } export const db: Database; export function initDatabases(): Promise<void>; } declare module '@botport/framework/lib/handlers/errors' { export class ErrorHandler { static handle(error: Error, context?: any): void; static handleError(error: any, context: string, logger: any): void; static handleAndCheckCritical(error: any, context: string, logger: any): boolean; } } declare module '@botport/framework/lib/handlers/interactions' { export function handleInteraction( interaction: any, client: any, logger: any ): Promise<void>; } declare module '@botport/framework/lib/essentials/banner' { export default function logBanner(): void; }