mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-28 14:30:11 +00:00
33 lines
850 B
JavaScript
33 lines
850 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.allEvents;
|
|
}
|
|
}
|
|
module.exports = EventManager;
|