UNPKG

simplify-cord

Version:

SimplifyCord is an unofficial extension of the 'discord.js' library. Our extension aims to simplify the development of Discord bots, promoting cleaner code and easier maintenance.

40 lines (39 loc) 1.53 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Event = void 0; const chalk_1 = __importDefault(require("chalk")); const discord_js_1 = require("discord.js"); class Event { static items = new discord_js_1.Collection(); constructor(data) { const events = Event.items.get(data.event) ?? new discord_js_1.Collection(); events.set(data.name, data); Event.items.set(data.event, events); } static register(client) { const eventHandlers = Event.items.map((collection, event) => ({ event, handlers: collection.map(e => ({ run: e.run, once: e.once })) })); for (const { event, handlers } of eventHandlers) { client.on(event, (...args) => { for (const { run } of handlers.filter(e => !e.once)) run(...args); }); client.once(event, (...args) => { for (const { run } of handlers.filter(e => e.once)) run(...args); }); } } static loadLogs() { for (const events of Event.items.values()) { for (const { name } of events.values()) { console.log(chalk_1.default.green(`${chalk_1.default.green.bold("✔")} ${chalk_1.default.yellow.underline(name)} event loaded!`)); } } } } exports.Event = Event;