@bastion/tesseract
Version:
The heart and soul of the Bastion bot.
21 lines (20 loc) • 891 B
TypeScript
import { EventEmitter } from "node:events";
import { ButtonInteraction, ModalSubmitInteraction, PermissionResolvable, AnySelectMenuInteraction } from "discord.js";
interface TesseractMessageComponentOptions {
id: string;
scope?: "guild" | "dm";
owner?: boolean;
clientPermissions?: PermissionResolvable[];
userPermissions?: PermissionResolvable[];
}
declare abstract class TesseractMessageComponent extends EventEmitter {
id: string;
scope?: "guild" | "dm";
owner?: boolean;
clientPermissions?: PermissionResolvable[];
userPermissions?: PermissionResolvable[];
constructor(options: TesseractMessageComponentOptions);
abstract exec(interaction: ButtonInteraction<"cached"> | ModalSubmitInteraction<"cached"> | AnySelectMenuInteraction<"cached">): Promise<unknown> | void;
toString: () => string;
}
export default TesseractMessageComponent;