import { ClientEvents } from "discord.js"; import { join } from "node:path"; import { requireDirectorySync } from "../utils/requireDirectory"; export interface DiscordEvent { event: Event callback: (...args: ClientEvents[Event]) => Promise } export function defineEvent( event: Event, callback: (...args: ClientEvents[Event]) => Promise ): DiscordEvent { return { event: event, callback: callback, } } export const eventDirectory = join(__dirname, "events"); export const eventMap = requireDirectorySync>(eventDirectory);