From 803e93a4a7e015b8f6797d70542a7d82609ecbac Mon Sep 17 00:00:00 2001 From: Taken Date: Tue, 12 Dec 2023 17:51:04 +0100 Subject: [PATCH] Updated file structure Signed-off-by: Taken --- src/index.js | 19 +++++-------------- src/utils/eventHandlers/autocomplete.js | 4 +++- src/utils/eventHandlers/button.js | 4 +++- src/utils/eventHandlers/command.js | 4 +++- src/utils/eventHandlers/modal.js | 4 +++- src/utils/loadEvents.js | 12 ++++++++++++ 6 files changed, 29 insertions(+), 18 deletions(-) create mode 100644 src/utils/loadEvents.js diff --git a/src/index.js b/src/index.js index 50019d3..bc82728 100644 --- a/src/index.js +++ b/src/index.js @@ -1,11 +1,13 @@ -const { Client, GatewayIntentBits, Partials, Collection } = require("discord.js") -const { loadSlashCommandsEvents, loadContextMenuEvents, loadModalEvents, loadButtonEvents, loadEvents, loadAutocompleteEvents } = require("./utils/eventHandler.js") +const { Client, GatewayIntentBits, Partials } = require("discord.js") const { autoDeployCommands } = require("./utils/autodeploy.js") +const { loadAllEvents } = require("./utils/loadEvents.js") const { init } = require("./utils/init.js") require("dotenv").config() const mongoURI = process.env.MONGOURI const { connect } = require("mongoose") +init() + const client = new Client({ intents: [ GatewayIntentBits.Guilds, @@ -23,18 +25,7 @@ const client = new Client({ ] }) -client.commands = new Collection() -client.buttons = new Collection() -client.modals = new Collection() -client.autocomplete = new Collection() - -init() -loadSlashCommandsEvents(client) -loadAutocompleteEvents(client) -loadContextMenuEvents(client) -loadButtonEvents(client) -loadModalEvents(client) -loadEvents(client) +loadAllEvents(client) let token = "" if (process.env.NODE_ENV === "dev") { diff --git a/src/utils/eventHandlers/autocomplete.js b/src/utils/eventHandlers/autocomplete.js index 21bb8f9..c6fc701 100644 --- a/src/utils/eventHandlers/autocomplete.js +++ b/src/utils/eventHandlers/autocomplete.js @@ -1,10 +1,12 @@ -const { Events } = require("discord.js") +const { Events, Collection } = require("discord.js") const path = require("path") const fs = require("fs") /** @param { import('discord.js').Client } client */ function loadAutocompleteEvents(client) { + client.autocomplete = new Collection() + const autocompletePath = path.join(__dirname, "..", "..", "events", "autocomplete") const autocompleteFiles = fs.readdirSync(autocompletePath).filter(file => file.endsWith(".js")) diff --git a/src/utils/eventHandlers/button.js b/src/utils/eventHandlers/button.js index 960726b..a4c6143 100644 --- a/src/utils/eventHandlers/button.js +++ b/src/utils/eventHandlers/button.js @@ -1,10 +1,12 @@ -const { Events } = require("discord.js") +const { Events, Collection } = require("discord.js") const path = require("path") const fs = require("fs") /** @param { import('discord.js').Client } client */ function loadButtonEvents(client) { + client.buttons = new Collection() + const btnPath = path.join(__dirname, "..", "..", "events", "buttons") const btnFiles = fs.readdirSync(btnPath).filter(file => file.endsWith(".js")) diff --git a/src/utils/eventHandlers/command.js b/src/utils/eventHandlers/command.js index fa8f859..588414c 100644 --- a/src/utils/eventHandlers/command.js +++ b/src/utils/eventHandlers/command.js @@ -1,10 +1,12 @@ -const { Events } = require("discord.js") +const { Events, Collection } = require("discord.js") const path = require("path") const fs = require("fs") /** @param { import('discord.js').Client } client */ function loadSlashCommandsEvents(client) { + client.commands = new Collection() + const cmdPath = path.join(__dirname, "..", "..", "commands") const cmdFiles = fs.readdirSync(cmdPath).filter(file => file.endsWith(".js")) diff --git a/src/utils/eventHandlers/modal.js b/src/utils/eventHandlers/modal.js index f7b9d67..b714409 100644 --- a/src/utils/eventHandlers/modal.js +++ b/src/utils/eventHandlers/modal.js @@ -1,10 +1,12 @@ -const { Events } = require("discord.js") +const { Events, Collection } = require("discord.js") const path = require("path") const fs = require("fs") /** @param { import('discord.js').Client } client */ function loadModalEvents(client) { + client.modals = new Collection() + const modalPath = path.join(__dirname, "..", "..", "events", "modals") const modalFiles = fs.readdirSync(modalPath).filter(file => file.endsWith(".js")) diff --git a/src/utils/loadEvents.js b/src/utils/loadEvents.js new file mode 100644 index 0000000..5729acb --- /dev/null +++ b/src/utils/loadEvents.js @@ -0,0 +1,12 @@ +const { loadSlashCommandsEvents, loadContextMenuEvents, loadModalEvents, loadButtonEvents, loadEvents, loadAutocompleteEvents } = require("./eventHandler.js") + +function loadAllEvents(client) { + loadSlashCommandsEvents(client) + loadAutocompleteEvents(client) + loadContextMenuEvents(client) + loadButtonEvents(client) + loadModalEvents(client) + loadEvents(client) +} + +module.exports = { loadAllEvents }