joel bot
This commit is contained in:
24
src/events/types.ts
Normal file
24
src/events/types.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Event types and interfaces
|
||||
*/
|
||||
|
||||
import type { ClientEvents } from "discord.js";
|
||||
import type { BotClient } from "../core/client";
|
||||
|
||||
export interface EventHandler<K extends keyof ClientEvents = keyof ClientEvents> {
|
||||
/** Event name to listen for */
|
||||
name: K;
|
||||
|
||||
/** Whether to only run once */
|
||||
once?: boolean;
|
||||
|
||||
/** Execute the event handler */
|
||||
execute: (client: BotClient, ...args: ClientEvents[K]) => Promise<void> | void;
|
||||
}
|
||||
|
||||
// Type-safe event handler that can be stored in an array
|
||||
export type AnyEventHandler = {
|
||||
name: keyof ClientEvents;
|
||||
once?: boolean;
|
||||
execute: (client: BotClient, ...args: any[]) => Promise<void> | void;
|
||||
};
|
||||
Reference in New Issue
Block a user