all repos — stealth-developers @ d816a1cab318fbc6d5205897c2902c49574710fa

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
 27
 28
 29
 30
 31
 32
 33
 34
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>;
}