UNPKG

rashi-discord-bot-lib

Version:

🚀 Powerful Discord bot framework with built-in database, event handling, and utilities

70 lines • 2.1 kB
import { Client } from "discord.js"; import { Logger } from "./Logger"; import type { VerseDatabase } from "../types"; export type CommandType = "slash" | "prefix"; export interface CommandUsage { count: number; type: CommandType; } export interface MostUsedCommand { name: string; uses: number; type: CommandType; } export interface DatabaseStats { adapter: string; keys: number; size?: number; } export interface DatabaseStore { name: string; adapter: string; status: "connected" | "down"; keys?: number; size?: number; info?: string; } export interface BotInfo { ownerId?: string; botInvite?: string; serverInvite?: string; avatar?: string; serverId?: string; } export interface GenerateStatsOptions { BotInfo?: BotInfo; } export declare class BotStatistics { private logger; private startTime; private commandUsage; private eventTriggers; private printedOnce; private totalCommandsExecuted; private totalEventsTriggered; private responseTimes; private errorCount; private totalRequests; private loadedSlashCommands; private loadedPrefixCommands; private loadedEvents; private dbStats?; private dbStores; constructor(logger?: Logger); setDatabaseStats(stats?: DatabaseStats): void; setDatabaseStores(stores: DatabaseStore[] | undefined): void; resetPrintedFlag(): void; loadDatabaseStatsFrom(db?: VerseDatabase): Promise<void>; initialize(client: Client): void; setLoadedCommands(slashCount: number, prefixCount: number): void; setLoadedEvents(eventCount: number): void; trackCommand(commandName: string, type: CommandType, responseTime?: number): void; trackEvent(eventName: string): void; trackError(): void; private pushRow; generateTableStats(client: Client, options: GenerateStatsOptions, databaseStats?: DatabaseStats): Promise<void>; generateStatsDisplay(client: Client): Promise<string>; private setupEventTracking; private formatUptime; } //# sourceMappingURL=BotStatistics.d.ts.map