mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-02 08:50:07 +00:00
* Update Template and Add Discordeno.js notes in favour of depreciating Discord Structures * Add package.json * deno fmt Co-authored-by: meister03 <meisterpi@gmail.com> Co-authored-by: LTS20050703 <87189679+lts20050703@users.noreply.github.com> Co-authored-by: LTS20050703 <lts20050703@gmail.com>
33 lines
848 B
JavaScript
33 lines
848 B
JavaScript
const fs = require("fs");
|
|
const path = require("path");
|
|
const resolveFolder = (folderName) => path.resolve(__dirname, ".", folderName);
|
|
|
|
const EventEmitter = require("events");
|
|
|
|
class EventManager extends EventEmitter {
|
|
constructor() {
|
|
super();
|
|
this.cache = new Map();
|
|
this.allEvents = {};
|
|
}
|
|
|
|
load(options = {}) {
|
|
const eventsFolder = resolveFolder("../events");
|
|
let i = 0;
|
|
fs.readdirSync(eventsFolder).map(async (file) => {
|
|
if (!file.endsWith(".js")) return;
|
|
i++;
|
|
const fileName = path.join(eventsFolder, file);
|
|
const event = require(fileName);
|
|
const eventName = file.split(".")[0];
|
|
|
|
this.allEvents[`${eventName}`] = (...args) => {
|
|
this.emit(eventName, ...args);
|
|
return event(...args);
|
|
};
|
|
});
|
|
return this._events;
|
|
}
|
|
}
|
|
module.exports = EventManager;
|