UNPKG

discord-easy-dashboard

Version:

💻 Complete framework to facilitate the creation of dashboard using discord.js and express

66 lines (60 loc) • 2.06 kB
import { Client as DiscordClient, Guild, Permissions } from "discord.js"; import EventEmitter from "events"; export default Dashboard; export { Options }; declare type Client = DiscordClient & { [key: string]: any }; declare class Dashboard extends EventEmitter { constructor(client: Client, options: Options); config: Config; registerCommand(name: string, description: string, usage: string): void; addTextInput( name: string, description: string, validator: (value: any) => boolean, setter: (client: Client, guild: Guild, value: string) => void, getter: (client: Client, guild: Guild) => string | Promise<string> ): void; addBooleanInput( name: string, description: string, setter: (client: Client, guild: Guild, value: boolean) => void, getter: (client: Client, guild: Guild) => boolean | Promise<boolean> ): void; addSelector( name: string, description: string, getSelectorEntries: ( client: Client, guild: Guild ) => [string, string][] | Promise<[string, string][]>, setter: (client: Client, guild: Guild, value: boolean) => void, getter: (client: Client, guild: Guild) => boolean | Promise<boolean> ): void; addColorInput( name: string, description: string, setter: (client: Client, guild: Guild, value: string) => void, getter: (client: Client, guild: Guild) => string | Promise<string> ): void; } declare interface Options { name?: string; description?: string; serverUrl?: string; inviteUrl?: string; baseUrl?: string; port?: number; secret: string; logRequests?: boolean; injectCSS?: string; faviconPath?: string; } declare interface Config { baseUrl: string; port: number; noPortIncallbackUrl: boolean; secret: string; logRequests: boolean; theme: string | object; permissions: Permissions[] }