diff options
Diffstat (limited to 'bot/src/handler')
| -rw-r--r-- | bot/src/handler/commands.js | 20 | ||||
| -rw-r--r-- | bot/src/handler/event.js | 23 |
2 files changed, 43 insertions, 0 deletions
diff --git a/bot/src/handler/commands.js b/bot/src/handler/commands.js new file mode 100644 index 0000000..d4b7bdc --- /dev/null +++ b/bot/src/handler/commands.js @@ -0,0 +1,20 @@ +import { Collection } from 'discord.js' +import { readdirSync } from 'node:fs'; +import path from "node:path"; +import { fileURLToPath } from "url"; +import { dirname } from "path"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const commandPath = path.join(__dirname, '../commands'); + +export async function commands(client) { + client.commands = new Collection(); + const commandFiles = readdirSync(commandPath).filter(file => file.endsWith('.js')); + + for (const file of commandFiles) { + const { default: command } = await import(`../commands/${file}`); + client.commands.set(command.data.name, command); + } +} diff --git a/bot/src/handler/event.js b/bot/src/handler/event.js new file mode 100644 index 0000000..0783741 --- /dev/null +++ b/bot/src/handler/event.js @@ -0,0 +1,23 @@ +import { fileURLToPath } from "url"; +import { dirname } from "path"; +import path from "node:path"; +import fs from "node:fs"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const eventsPath = path.join(__dirname, '../events'); +const eventFiles = fs.readdirSync(eventsPath).filter(file => file.endsWith('.js')); + +export async function event(client) { + for (const file of eventFiles) { + const filePath = path.join(eventsPath, file); + const event = (await import(filePath)).default; + if (event.once) { + client.once(event.name, (...args) => event.execute(...args)); + } else { + client.on(event.name, (...args) => event.execute(...args)); + } + } + +} |
