mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-30 07:20:08 +00:00
* Inital Docs * Finish Design * Finish Design * Add FILE Structure' * Add Not Ready Template * Update Template * Add Command Manager and first Command ping * Add Command Manager and first Command ping * Add Embeds Guide & EventManager * INITIAL FINISH: GUIDE * FIX TYPOS, LTS's Review, sidebar_position * Update site/docs/nodejs/getting-started.md Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> * Fixed Position? Add some comments on template, add changes in review * Add Interaction Handling, Modals * format files * Update site/docs/nodejs/getting-started.md 1 Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> * Update site/docs/nodejs/CommandHandler/command-manager.md Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> * Fix Review things * itoh's suggestions The guide looks very very veery good overall I like it. This commit adds my personal style of writing. Please review it 🙏. PS: I hope these are not too many changes .-. * deno fmt Co-authored-by: meister03 <root@_HOSTNAME_> Co-authored-by: ITOH <to@itoh.at> Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
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(client) {
|
|
super();
|
|
this.cache = new Map();
|
|
this._events = {};
|
|
}
|
|
|
|
load(options = {}) {
|
|
const eventsFolder = resolveFolder("../events");
|
|
fs.readdirSync(eventsFolder).map(async (file) => {
|
|
if (!file.endsWith(".js")) return;
|
|
const fileName = path.join(eventsFolder, file);
|
|
const event = require(fileName);
|
|
const eventName = file.split(".")[0];
|
|
this._events[`${eventName}`] = event;
|
|
/* When the event should be emitted on client.events.on(eventName, (...args) => {...})
|
|
this._events[`${eventName}`] = function(...args) {
|
|
this.emit(eventName, ...args);
|
|
return event(...args);
|
|
};
|
|
*/
|
|
});
|
|
return this._events;
|
|
}
|
|
}
|
|
module.exports = EventManager;
|