Added event handler for autocomplete events

This commit is contained in:
2023-11-30 15:43:35 +01:00
parent 7917538347
commit 4f96e0c534
3 changed files with 29 additions and 2 deletions

View File

@@ -3,11 +3,13 @@ const { loadSlashCommandsEvents } = require("./eventHandlers/command.js")
const { loadContextMenuEvents } = require("./eventHandlers/contextmenu.js")
const { loadModalEvents } = require("./eventHandlers/modal.js")
const { loadEvents } = require("./eventHandlers/events.js")
const { loadAutocompleteEvents } = require("./eventHandlers/autocomplete.js")
module.exports = {
loadSlashCommandsEvents,
loadButtonEvents,
loadContextMenuEvents,
loadModalEvents,
loadEvents
loadEvents,
loadAutocompleteEvents
}

View File

@@ -0,0 +1,24 @@
const { Events } = require("discord.js")
const path = require("path")
const fs = require("fs")
/** @param { import('discord.js').Client } client */
function loadAutocompleteEvents(client) {
const autocompletePath = path.join(__dirname, "..", "..", "events", "autocomplete")
const autocompleteFiles = fs.readdirSync(autocompletePath).filter(file => file.endsWith(".js"))
for (const file of autocompleteFiles) {
const filePath = path.join(autocompletePath, file)
const autocomplete = require(filePath)
if ("name" in autocomplete && "execute" in autocomplete && autocomplete.type === "autocomplete") {
client.on(Events.InteractionCreate, autocomplete.execute)
} else {
console.log(`[WARNING] The autocomplete at ${filePath} is missing a required "name", "execute" or "type" property.`)
}
}
}
module.exports = { loadAutocompleteEvents }