@lilybird/handlers
Version:
Command handlers and more for lilybird
57 lines • 3.18 kB
TypeScript
import { ApplicationCommandStore } from "./application-command-store.js";
import { MessageComponentStore } from "./message-component-store.js";
import type { ComponentStructure, DynamicComponentStructure } from "./message-component-store.js";
import type { HandlerListener } from "./shared.js";
import type { ApplicationCommandStoreOptions, SubCommandStructure, BaseCommandOption, CommandStructure, CommandOption } from "./application-command-store.js";
import type { Transformers, Awaitable, Listeners, Client } from "lilybird";
export declare class Handler<T extends Transformers<Client> = Transformers<Client>, HO extends (...args: any) => any = never, AO extends (...args: any) => any = never> {
#private;
constructor(options: {
cachePath?: string;
enableDynamicComponents?: boolean;
acsOptions?: ApplicationCommandStoreOptions;
handlerListener?: HandlerListener;
});
buttonCollector(component: DynamicComponentStructure): void;
storeCommand<const O extends Array<CommandOption>>(data: CommandStructure<O, HO, AO> & {
components?: Array<ComponentStructure>;
}): void;
subCommandMock<const O extends Array<BaseCommandOption>>(data: SubCommandStructure<O, HO, AO>): SubCommandStructure<O, HO, AO>;
storeListener<TR extends Transformers<Client> = T, K extends keyof TR = keyof TR>(data: {
event: K;
handle: Required<Listeners<Client, TR>>[K];
}): void;
clearStores(): void;
getCompilationStack(): {
functionNames: Array<string>;
handlers: Array<(...args: any) => any>;
stack: string;
} | null;
compileCommands(): ((...args: any) => Awaitable<unknown>) | null;
getListenersObject(includeCommands?: boolean): Listeners<Client, T>;
loadGlobalCommands(client: Client): Promise<void>;
getStoredData(): {
commands: {
global: ReturnType<ApplicationCommandStore<HO, AO>["getStoredGlobalCommands"]>;
guild: ReturnType<ApplicationCommandStore<HO, AO>["getStoredGuildCommands"]>;
};
components: ReturnType<MessageComponentStore["getStoredComponents"]>;
listeners: Array<[name: string, handle: (...args: Array<any>) => any]>;
};
addDebugListener(listener: HandlerListener): void;
set cachePath(path: string);
get cachePath(): string | undefined;
set enableDynamicComponents(bool: boolean);
get enableDynamicComponents(): boolean;
}
export declare const handler: Handler<Transformers<Client>, never, never>;
export declare const $applicationCommand: <const O extends Array<CommandOption>>(data: CommandStructure<O, never, never> & {
components?: Array<ComponentStructure>;
}) => void;
export declare const $subCommand: <const O extends Array<BaseCommandOption>>(data: SubCommandStructure<O, never, never>) => SubCommandStructure<O, never, never>;
export declare const $listener: <TR extends Transformers<Client> = Transformers<Client>, K extends keyof TR = keyof TR>(data: {
event: K;
handle: Required<Listeners<Client, TR>>[K];
}) => void;
export declare const $component: (component: DynamicComponentStructure) => void;
//# sourceMappingURL=handler.d.ts.map