diff --git a/src/events/commandError.ts b/src/events/commandError.ts
index ce50122..8ed01d2 100644
--- a/src/events/commandError.ts
+++ b/src/events/commandError.ts
@@ -1,14 +1,17 @@
+import type { ButtonInteraction, ContextMenuCommandInteraction } from 'discord.js';
+import type { CommandInteraction } from 'discord.js';
+import type { NucleusClient } from "../utils/client.js";
 import EmojiEmbed from "../utils/generateEmojiEmbed.js";
 
 export const event = "commandError";
 
-export async function callback(client, interaction, error) {
+export async function callback(_: NucleusClient, interaction: CommandInteraction | ButtonInteraction | ContextMenuCommandInteraction, error: string) {
     if (interaction.replied || interaction.deferred) {
         await interaction.followUp({
             embeds: [
                 new EmojiEmbed()
                     .setTitle("Something went wrong")
-                    .setDescription(error.message ?? error.toString())
+                    .setDescription(error)
                     .setStatus("Danger")
                     .setEmoji("CONTROL.BLOCKCROSS")
             ],
@@ -19,7 +22,7 @@
             embeds: [
                 new EmojiEmbed()
                     .setTitle("Something went wrong")
-                    .setDescription(error.message ?? error.toString())
+                    .setDescription(error)
                     .setStatus("Danger")
                     .setEmoji("CONTROL.BLOCKCROSS")
             ],
