UNPKG

discord-module-loader

Version:

A package that lets you load events and commands easily and fast.

35 lines (34 loc) 1.47 kB
import debug from "debug"; import { Collection, Snowflake } from "discord.js"; import DiscordCommand from "./DiscordCommand"; import DiscordEvent from "./DiscordEvent"; import DiscordGuild from "./DiscordGuild"; import DiscordModule from "./DiscordModule"; import type { Client } from "discord.js"; export interface ModuleLoaderOptions { unknownCommandMessage?: string; disabledCommandMessage?: string; disallowedChannelMessage?: string; commandCooldownMessage?: string; } export default class DiscordModuleLoader { client: Client; unknownCommandMessage: string; disabledCommandMessage: string; disallowedChannelMessage: string; commandCooldownMessage: string; commands: Collection<string, DiscordCommand>; modules: Collection<string, DiscordModule>; guilds: Collection<string, DiscordGuild>; cooldowns: Collection<string, Collection<string, number>>; log: debug.Debugger; constructor(client: Client, options?: ModuleLoaderOptions); loadAll(): Promise<void>; loadGuilds(dir?: string): Promise<[string, DiscordGuild][]>; loadModules(dir?: string, guildId?: string): Promise<[string, DiscordModule][]>; private addToColl; loadEvents(dir?: string, guildId?: string): Promise<[string, DiscordEvent<any>][]>; loadCommands(dir?: string, guildId?: Snowflake, subDirectoryOf?: string): Promise<[string, DiscordCommand][]>; updateSlashCommands(): Promise<void>; private handleInteraction; }