mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-21 10:50:09 +00:00
33 lines
830 B
JavaScript
33 lines
830 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
|