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({ ephemeral: true })
		const command = client.commands.get(interaction.commandName)
		if (!command)
			return interaction.followUp('Invalid command')
		command.run({
			args: interaction.options as CommandInteractionOptionResolver,
			client,
			interaction
		})
	}
}
