all repos — stealth-developers @ 43e8c7358a2056b6ab989ef6fe8c91cf6ad58923

src/types.ts (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
import type {
	ApplicationCommandData,
	AutocompleteInteraction,
	BaseInteraction,
	ButtonInteraction,
	Client,
	ModalSubmitInteraction,
	StringSelectMenuInteraction,
} from "discord.js";

export interface IEvent {
	event: string;
	execute: (client: Client, ...args: unknown[]) => Promise<void>;
	once?: boolean;
}

export interface ICommand {
	data?: ApplicationCommandData;
	execute?: (client: Client, interaction: BaseInteraction) => Promise<void>;

	enabled?: boolean;
	autocomplete?: (interaction: AutocompleteInteraction) => Promise<void>;
	buttonExecute?: (client: Client, interaction: ButtonInteraction) => Promise<void>;
	modalExecute?: (client: Client, interaction: ModalSubmitInteraction) => Promise<void>;
	selectMenuExecute?: (client: Client, interaction: StringSelectMenuInteraction) => Promise<void>;
}