Merge pull request 'Async loading of commands and events' (#1) from joan/Haha-Yes:jmr/import-then into Slash-V14

Reviewed-on: #1
This commit is contained in:
Supositware 2023-04-05 00:38:14 +02:00
commit 132d387e49

View file

@ -41,11 +41,13 @@ async function loadCommandFromDir(dir) {
for (const file of commandFiles) { for (const file of commandFiles) {
const filePath = path.join(commandsPath, file); const filePath = path.join(commandsPath, file);
let command = await import(filePath); import(filePath)
command = command.default; .then(importedCommand => {
const command = importedCommand.default;
client.commands.set(command.data.name, command); client.commands.set(command.data.name, command);
console.log(`Successfully loaded command \x1b[32m${command.category}/${command.data.name}\x1b[0m`); console.log(`Successfully loaded command \x1b[32m${command.category}/${command.data.name}\x1b[0m`);
})
.catch(error => console.error(`Failed to load command for path: ${filePath}`, error));
} }
} }
@ -55,13 +57,16 @@ async function loadEventFromDir(dir, listener) {
for (const file of eventFiles) { for (const file of eventFiles) {
const filePath = path.join(eventsPath, file); const filePath = path.join(eventsPath, file);
let event = await import(filePath); import(filePath)
event = event.default; .then(importedEvent => {
if (event.once) { const event = importedEvent.default;
listener.once(event.name, (...args) => event.execute(...args, client)); if (event.once) {
} listener.once(event.name, (...args) => event.execute(...args, client));
else { }
listener.on(event.name, (...args) => event.execute(...args, client)); else {
} listener.on(event.name, (...args) => event.execute(...args, client));
}
})
.catch(error => console.error(`Failed to load event for path: ${filePath}`, error));
} }
} }