dressed
Version:
A sleek, serverless-ready Discord bot framework.
22 lines (21 loc) • 824 B
TypeScript
import { type APIApplicationCommandOption, ApplicationCommandOptionType } from "discord-api-types/v10";
type CommandOptionMap = {
[Key in keyof typeof ApplicationCommandOptionType]: Extract<APIApplicationCommandOption, {
type: (typeof ApplicationCommandOptionType)[Key];
}>;
};
/**
* Creates an application command option
*/
export declare function CommandOption<K extends keyof typeof ApplicationCommandOptionType, N extends string, R extends boolean, O extends K extends "Subcommand" | "SubcommandGroup" ? CommandOptionMap[K]["options"] : never>(config: Omit<CommandOptionMap[K], "type"> & {
name: N;
required?: R;
type: K;
} & (K extends "Subcommand" | "SubcommandGroup" ? {
options?: O;
} : unknown)): CommandOptionMap[K] & {
name: N;
required: R;
options: O;
};
export {};