discord-module-loader
Version:
A package that lets you load events and commands easily and fast.
35 lines (34 loc) • 1.47 kB
TypeScript
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;
}