const fs = require('fs'); const util = require('util'); const readdir = util.promisify(fs.readdir); // Store ongoing giveaways in a map where the key is the message ID and the value is giveaway information const ongoingGiveaways = new Map(); module.exports = async (bot) => { try { let eventDir = await readdir("./core/events/"); eventDir.forEach(dir => { const eventFile = fs.readdirSync('./core/events/' + dir + "/").filter(file => file.endsWith('.js')); for (const file of eventFile) { const event = require(`${process.cwd()}/core/events/${dir}/${file}`); if (!event.name) { return bot.logger.error(`An unexpected error occurred with EVENT ${file}.`); } if (typeof event.run !== 'function') { return bot.logger.error(`EVENT ${event.name} in file ${file} does not have a run function.`); } if (event.once) { bot.once(event.name, (...args) => event.run(bot, ...args)); } else { bot.on(event.name, (...args) => event.run(bot, ...args)); } } }) await bot.logger.ready(`Launched Events !`); } catch (err) { bot.logger.error(err); } };