add event to handle incoming interaction creation events

every fired slash command is actually an event which needs to be handled
and deferred to the correct command interaction handler.
This commit is contained in:
mightypanders 2023-06-04 01:00:04 +02:00
parent 4917fe11da
commit 2a03cd7589
1 changed files with 21 additions and 0 deletions

View File

@ -0,0 +1,21 @@
import { CommandInteractionOptionResolver } from "discord.js"
import { ExtendedInteraction } from "../types/commandTypes"
import { client } from "../.."
import { logger } from "../logger"
export const name = 'interactionCreate'
export async function execute(interaction: ExtendedInteraction) {
//console.dir(interaction, { depth: null })
if (interaction.isCommand()) {
logger.info(`Interaction is a command.`, { guildId: interaction.guild?.id })
await interaction.deferReply()
const command = client.commands.get(interaction.commandName)
if (!command)
return interaction.followUp('Invalid command')
command.run({
args: interaction.options as CommandInteractionOptionResolver,
client,
interaction
})
}
}