import { DebugBuilder } from "../../modules/debugger.mjs"; const log = new DebugBuilder("server", "discordBot.events.interactionCreate"); import { Events } from 'discord.js'; export const name = Events.InteractionCreate; export async function execute(nodeIo, interaction) { const command = interaction.client.commands.get(interaction.commandName); log.INFO("Interaction created for command: ", command); // Execute autocomplete if the user is checking autocomplete if (interaction.isAutocomplete()) { log.INFO("Running autocomplete for command: ", command.data.name); return await command.autocomplete(nodeIo, interaction); } // Check if the interaction is a command if (!interaction.isChatInputCommand()) return; if (!command) { console.error(`No command matching ${interaction.commandName} was found.`); return; } log.INFO(`${interaction.member.user} is running '${interaction.commandName}'`); // Defer the initial reply if the command has the parameter set if (command.deferInitialReply) { await interaction.deferReply(); } // Execute the command command.execute(nodeIo, interaction); }