Fix some more eslint errors (not yet complete)
diff --git a/src/commands/settings/tickets.ts b/src/commands/settings/tickets.ts
index 3d1901b..31df394 100644
--- a/src/commands/settings/tickets.ts
+++ b/src/commands/settings/tickets.ts
@@ -2,14 +2,14 @@
 import getEmojiByName from "../../utils/getEmojiByName.js";
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
 import confirmationMessage from "../../utils/confirmationMessage.js";
-import Discord, { CommandInteraction, MessageActionRow, MessageButton, MessageSelectMenu, TextInputComponent } from "discord.js";
+import Discord, { CommandInteraction, GuildChannel, Interaction, Message, MessageActionRow, MessageActionRowComponent, MessageButton, MessageComponentInteraction, MessageSelectMenu, Role, SelectMenuInteraction, TextInputComponent } from "discord.js";
 import { SelectMenuOption, SlashCommandSubcommandBuilder } from "@discordjs/builders";
-import { WrappedCheck } from "jshaiku";
 import { ChannelType } from "discord-api-types";
 import client from "../../utils/client.js";
 import { toHexInteger, toHexArray, tickets as ticketTypes } from "../../utils/calculate.js";
 import { capitalize } from "../../utils/generateKeyValueList.js";
 import { modalInteractionCollector } from "../../utils/dualCollector.js";
+import {GuildConfig} from "../../utils/database.js";
 
 const command = (builder: SlashCommandSubcommandBuilder) => builder
     .setName("tickets")
@@ -20,9 +20,8 @@
     .addNumberOption(option => option.setName("maxticketsperuser").setDescription("The maximum amount of tickets a user can create | Default: 5").setRequired(false).setMinValue(1))
     .addRoleOption(option => option.setName("supportrole").setDescription("This role will have view access to all tickets and will be pinged when a ticket is created").setRequired(false));
 
-const callback = async (interaction: CommandInteraction): Promise<any> => {
-    let m;
-    m = await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true});
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
+    let m = await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true});
     const options = {
         enabled: interaction.options.getString("enabled") as string | boolean,
         category: interaction.options.getChannel("category"),
@@ -33,9 +32,9 @@
     if (options.enabled !== null || options.category || options.maxtickets || options.supportping) {
         options.enabled = options.enabled === "yes" ? true : false;
         if (options.category) {
-            let channel;
+            let channel: GuildChannel;
             try {
-                channel = interaction.guild.channels.cache.get(options.category.id);
+                channel = await interaction.guild.channels.fetch(options.category.id);
             } catch {
                 return await interaction.editReply({
                     embeds: [new EmojiEmbed()
@@ -66,10 +65,10 @@
                 ]
             });
         }
-        let role;
+        let role: Role;
         if (options.supportping) {
             try {
-                role = interaction.guild.roles.cache.get(options.supportping.id);
+                role = await interaction.guild.roles.fetch(options.supportping.id);
             } catch {
                 return await interaction.editReply({
                     embeds: [new EmojiEmbed()
@@ -136,9 +135,9 @@
         }
     }
     let data = await client.database.guilds.read(interaction.guild.id);
-    data.tickets.customTypes = (data.tickets.customTypes || []).filter((v, i, a) => a.indexOf(v) === i);
+    data.tickets.customTypes = (data.tickets.customTypes || []).filter((value: string, index: number, array: string[]) => array.indexOf(value) === index);
     let lastClicked = "";
-    let embed;
+    let embed: EmojiEmbed;
     data = {
         enabled: data.tickets.enabled,
         category: data.tickets.category,
@@ -200,30 +199,30 @@
                     .setCustomId("send")
             ])]
         });
-        let i;
+        let i: MessageComponentInteraction;
         try {
-            i = await m.awaitMessageComponent({ time: 300000 });
+            i = await (m as Message).awaitMessageComponent({ time: 300000 });
         } catch (e) { break; }
         i.deferUpdate();
-        if (i.component.customId === "clearCategory") {
+        if ((i.component as MessageActionRowComponent).customId === "clearCategory") {
             if (lastClicked === "cat") {
                 lastClicked = "";
                 await client.database.guilds.write(interaction.guild.id, null, ["tickets.category"]);
                 data.category = undefined;
             } else lastClicked = "cat";
-        } else if (i.component.customId === "clearMaxTickets") {
+        } else if ((i.component as MessageActionRowComponent).customId === "clearMaxTickets") {
             if (lastClicked === "max") {
                 lastClicked = "";
                 await client.database.guilds.write(interaction.guild.id, null, ["tickets.maxTickets"]);
                 data.maxTickets = 5;
             } else lastClicked = "max";
-        } else if (i.component.customId === "clearSupportPing") {
+        } else if ((i.component as MessageActionRowComponent).customId === "clearSupportPing") {
             if (lastClicked === "sup") {
                 lastClicked = "";
                 await client.database.guilds.write(interaction.guild.id, null, ["tickets.supportRole"]);
                 data.supportRole = undefined;
             } else lastClicked = "sup";
-        } else if (i.component.customId === "send") {
+        } else if ((i.component as MessageActionRowComponent).customId === "send") {
             const ticketMessages = [
                 {label: "Create ticket", description: "Click the button below to create a ticket"},
                 {label: "Issues, questions or feedback?", description: "Click below to open a ticket and get help from our staff team"},
@@ -260,15 +259,15 @@
                             .setStyle("PRIMARY")
                     ])
                 ]});
-                let i;
+                let i: MessageComponentInteraction;
                 try {
-                    i = await m.awaitMessageComponent({time: 300000});
+                    i = await (m as Message).awaitMessageComponent({time: 300000});
                 } catch(e) { break; }
-                if (i.component.customId === "template") {
+                if ((i.component as MessageActionRowComponent).customId === "template") {
                     i.deferUpdate();
                     await interaction.channel.send({embeds: [new EmojiEmbed()
-                        .setTitle(ticketMessages[parseInt(i.values[0])].label)
-                        .setDescription(ticketMessages[parseInt(i.values[0])].description)
+                        .setTitle(ticketMessages[parseInt((i as SelectMenuInteraction).values[0])].label)
+                        .setDescription(ticketMessages[parseInt((i as SelectMenuInteraction).values[0])].description)
                         .setStatus("Success")
                         .setEmoji("GUILD.TICKET.OPEN")
                     ], components: [new MessageActionRow().addComponents([new MessageButton()
@@ -278,7 +277,7 @@
                         .setCustomId("createticket")
                     ])]});
                     break;
-                } else if (i.component.customId === "blank") {
+                } else if ((i.component as MessageActionRowComponent).customId === "blank") {
                     i.deferUpdate();
                     await interaction.channel.send({components: [new MessageActionRow().addComponents([new MessageButton()
                         .setLabel("Create Ticket")
@@ -287,7 +286,7 @@
                         .setCustomId("createticket")
                     ])]});
                     break;
-                } else if (i.component.customId === "custom") {
+                } else if ((i.component as MessageActionRowComponent).customId === "custom") {
                     await i.showModal(new Discord.Modal().setCustomId("modal").setTitle("Enter embed details").addComponents(
                         new MessageActionRow<TextInputComponent>().addComponents(new TextInputComponent()
                             .setCustomId("title")
@@ -339,11 +338,11 @@
                     } else { continue; }
                 }
             }
-        } else if (i.component.customId === "enabled") {
+        } else if ((i.component as MessageActionRowComponent).customId === "enabled") {
             await client.database.guilds.write(interaction.guild.id, { "tickets.enabled": !data.enabled });
             data.enabled = !data.enabled;
-        } else if (i.component.customId === "manageTypes") {
-            data = await manageTypes(interaction, data, m);
+        } else if ((i.component as MessageActionRowComponent).customId === "manageTypes") {
+            data = await manageTypes(interaction, data, m as Message);
         } else {
             break;
         }
@@ -351,7 +350,7 @@
     await interaction.editReply({ embeds: [embed.setFooter({ text: "Message closed" })], components: [] });
 };
 
-async function manageTypes(interaction, data, m) {
+async function manageTypes(interaction: Interaction, data: GuildConfig["tickets"], m: Message) {
     while (true) {
         if (data.useCustom) {
             const customTypes = data.customTypes;
@@ -519,7 +518,7 @@
 }
 
 
-const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+const check = (interaction: CommandInteraction) => {
     const member = (interaction.member as Discord.GuildMember);
     if (!member.permissions.has("MANAGE_GUILD")) throw "You must have the *Manage Server* permission to use this command";
     return true;
@@ -527,4 +526,4 @@
 
 export { command };
 export { callback };
-export { check };
\ No newline at end of file
+export { check };
diff --git a/src/commands/settings/verify.ts b/src/commands/settings/verify.ts
index c100d05..d846511 100644
--- a/src/commands/settings/verify.ts
+++ b/src/commands/settings/verify.ts
@@ -1,10 +1,9 @@
 import { LoadingEmbed } from "./../../utils/defaultEmbeds.js";
-import Discord, { CommandInteraction, Emoji, MessageActionRow, MessageButton, MessageSelectMenu, TextInputComponent } from "discord.js";
+import Discord, { CommandInteraction, Message, MessageActionRow, MessageActionRowComponent, MessageButton, MessageComponentInteraction, MessageSelectMenu, Role, SelectMenuInteraction, TextInputComponent } from "discord.js";
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
 import confirmationMessage from "../../utils/confirmationMessage.js";
 import getEmojiByName from "../../utils/getEmojiByName.js";
-import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
-import { WrappedCheck } from "jshaiku";
+import { Embed, SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import client from "../../utils/client.js";
 import { modalInteractionCollector } from "../../utils/dualCollector.js";
 
@@ -14,13 +13,12 @@
         .setDescription("Manage the role given after typing /verify")
         .addRoleOption(option => option.setName("role").setDescription("The role to give after verifying").setRequired(false));
 
-const callback = async (interaction: CommandInteraction): Promise<any> => {
-    let m;
-    m = await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true});
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
+    const m = await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true});
     if (interaction.options.getRole("role")) {
-        let role;
+        let role: Role;
         try {
-            role = interaction.options.getRole("role");
+            role = interaction.options.getRole("role") as Role;
         } catch {
             return await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("GUILD.ROLES.DELETE")
@@ -109,19 +107,19 @@
                 .setEmoji(getEmojiByName("TICKETS.SUGGESTION", "id"))
                 .setStyle("PRIMARY")
         ])]});
-        let i;
+        let i: MessageComponentInteraction;
         try {
-            i = await m.awaitMessageComponent({time: 300000});
+            i = await (m as Message).awaitMessageComponent({time: 300000});
         } catch(e) { break; }
         i.deferUpdate();
-        if (i.component.customId === "clear") {
+        if ((i.component as MessageActionRowComponent).customId === "clear") {
             clicks += 1;
             if (clicks === 2) {
                 clicks = 0;
                 await client.database.guilds.write(interaction.guild.id, null, ["verify.role", "verify.enabled"]);
                 role = undefined;
             }
-        } else if (i.component.customId === "send") {
+        } else if ((i.component as MessageActionRowComponent).customId === "send") {
             const verifyMessages = [
                 {label: "Verify", description: "Click the button below to get verified"},
                 {label: "Get verified", description: "To get access to the rest of the server, click the button below"},
@@ -157,15 +155,15 @@
                             .setStyle("PRIMARY")
                     ])
                 ]});
-                let i;
+                let i: MessageComponentInteraction;
                 try {
-                    i = await m.awaitMessageComponent({time: 300000});
+                    i = await (m as Message).awaitMessageComponent({time: 300000});
                 } catch(e) { break; }
-                if (i.component.customId === "template") {
+                if ((i.component as MessageActionRowComponent).customId === "template") {
                     i.deferUpdate();
                     await interaction.channel.send({embeds: [new EmojiEmbed()
-                        .setTitle(verifyMessages[parseInt(i.values[0])].label)
-                        .setDescription(verifyMessages[parseInt(i.values[0])].description)
+                        .setTitle(verifyMessages[parseInt((i as SelectMenuInteraction).values[0])].label)
+                        .setDescription(verifyMessages[parseInt((i as SelectMenuInteraction).values[0])].description)
                         .setStatus("Success")
                         .setEmoji("CONTROL.BLOCKTICK")
                     ], components: [new MessageActionRow().addComponents([new MessageButton()
@@ -175,7 +173,7 @@
                         .setCustomId("verifybutton")
                     ])]});
                     break;
-                } else if (i.component.customId === "blank") {
+                } else if ((i.component as MessageActionRowComponent).customId === "blank") {
                     i.deferUpdate();
                     await interaction.channel.send({components: [new MessageActionRow().addComponents([new MessageButton()
                         .setLabel("Verify")
@@ -184,7 +182,7 @@
                         .setCustomId("verifybutton")
                     ])]});
                     break;
-                } else if (i.component.customId === "custom") {
+                } else if ((i.component as MessageActionRowComponent).customId === "custom") {
                     await i.showModal(new Discord.Modal().setCustomId("modal").setTitle("Enter embed details").addComponents(
                         new MessageActionRow<TextInputComponent>().addComponents(new TextInputComponent()
                             .setCustomId("title")
@@ -241,10 +239,10 @@
             break;
         }
     }
-    await interaction.editReply({embeds: [m.embeds[0].setFooter({text: "Message closed"})], components: []});
+    await interaction.editReply({embeds: [(m.embeds[0] as Embed).setFooter({text: "Message closed"})], components: []});
 };
 
-const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+const check = (interaction: CommandInteraction) => {
     const member = (interaction.member as Discord.GuildMember);
     if (!member.permissions.has("MANAGE_GUILD")) throw "You must have the *Manage Server* permission to use this command";
     return true;
diff --git a/src/commands/settings/welcome.ts b/src/commands/settings/welcome.ts
index 34ac292..f22f409 100644
--- a/src/commands/settings/welcome.ts
+++ b/src/commands/settings/welcome.ts
@@ -1,7 +1,6 @@
 import { LoadingEmbed } from "./../../utils/defaultEmbeds.js";
-import Discord, { CommandInteraction, MessageActionRow, MessageButton, MessageSelectMenu } from "discord.js";
+import Discord, { Channel, CommandInteraction, Message, MessageActionRow, MessageButton, MessageComponentInteraction, Role } from "discord.js";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
-import { WrappedCheck } from "jshaiku";
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
 import client from "../../utils/client.js";
 import confirmationMessage from "../../utils/confirmationMessage.js";
@@ -20,17 +19,17 @@
             ChannelType.GuildText, ChannelType.GuildNews
         ]));
 
-const callback = async (interaction: CommandInteraction): Promise<any> => {
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
     const { renderRole, renderChannel, log, NucleusColors, entry, renderUser } = client.logger;
     await interaction.reply({embeds: LoadingEmbed, fetchReply: true, ephemeral: true});
-    let m;
+    let m: Message;
     if (interaction.options.getRole("role") || interaction.options.getChannel("channel") || interaction.options.getString("message")) {
-        let role;
-        let ping;
+        let role: Role;
+        let ping: Role;
         const message = interaction.options.getString("message");
         try {
-            role = interaction.options.getRole("role");
-            ping = interaction.options.getRole("ping");
+            role = interaction.options.getRole("role") as Role;
+            ping = interaction.options.getRole("ping") as Role;
         } catch {
             return await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("GUILD.ROLES.DELETE")
@@ -39,9 +38,9 @@
                 .setStatus("Danger")
             ]});
         }
-        let channel;
+        let channel: Channel;
         try {
-            channel = interaction.options.getChannel("channel");
+            channel = interaction.options.getChannel("channel") as Channel;
         } catch {
             return await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("GUILD.ROLES.DELETE")
@@ -160,8 +159,8 @@
                     .setDisabled(config.welcome.channel == "dm")
                     .setStyle("SECONDARY")
             ])
-        ]});
-        let i;
+        ]}) as Message;
+        let i: MessageComponentInteraction;
         try {
             i = await m.awaitMessageComponent({ time: 300000 });
         } catch (e) {
@@ -196,7 +195,7 @@
     await interaction.editReply({embeds: [m.embeds[0].setFooter({text: "Message closed"})], components: []});
 };
 
-const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
+const check = (interaction: CommandInteraction) => {
     const member = (interaction.member as Discord.GuildMember);
     if (!member.permissions.has("MANAGE_GUILD")) throw "You must have the *Manage Server* permission to use this command";
     return true;
@@ -204,4 +203,4 @@
 
 export { command };
 export { callback };
-export { check };
\ No newline at end of file
+export { check };