Still got errors and warnings, mostly the same and easy to fix
diff --git a/src/commands/mod/ban.ts b/src/commands/mod/ban.ts
index 8fc98d2..57db408 100644
--- a/src/commands/mod/ban.ts
+++ b/src/commands/mod/ban.ts
@@ -9,15 +9,15 @@
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("ban")
-    .setDescription("Bans a user from the server")
-    .addUserOption(option => option.setName("user").setDescription("The user to ban").setRequired(true))
-    .addNumberOption(option => option.setName("delete").setDescription("The days of messages to delete | Default: 0").setMinValue(0).setMaxValue(7).setRequired(false))
+        .setName("ban")
+        .setDescription("Bans a user from the server")
+        .addUserOption(option => option.setName("user").setDescription("The user to ban").setRequired(true))
+        .addNumberOption(option => option.setName("delete").setDescription("The days of messages to delete | Default: 0").setMinValue(0).setMaxValue(7).setRequired(false));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
-    const { renderUser } = client.logger
+    const { renderUser } = client.logger;
     // TODO:[Modals] Replace this with a modal
-    let reason = null
+    let reason = null;
     let notify = true;
     let confirmation;
     while (true) {
@@ -28,22 +28,22 @@
                 "user": renderUser(interaction.options.getUser("user")),
                 "reason": reason ? ("\n> " + ((reason ?? "").replaceAll("\n", "\n> "))) : "*No reason provided*"
             })
-            + `The user **will${notify ? '' : ' not'}** be notified\n`
+            + `The user **will${notify ? "" : " not"}** be notified\n`
             + `${addPlurals(interaction.options.getInteger("delete") ? interaction.options.getInteger("delete") : 0, "day")} of messages will be deleted\n\n`
             + `Are you sure you want to ban <@!${(interaction.options.getMember("user") as GuildMember).id}>?`)
             .setColor("Danger")
             .addReasonButton(reason ?? "")
-            .send(reason !== null)
-        reason = reason ?? ""
-        if (confirmation.cancelled) return
-        if (confirmation.success) break
-        if (confirmation.newReason) reason = confirmation.newReason
-        if (confirmation.components) notify = confirmation.components.notify.active
+            .send(reason !== null);
+        reason = reason ?? "";
+        if (confirmation.cancelled) return;
+        if (confirmation.success) break;
+        if (confirmation.newReason) reason = confirmation.newReason;
+        if (confirmation.components) notify = confirmation.components.notify.active;
     }
     if (confirmation.success) {
-        let dmd = false
+        let dmd = false;
         let dm;
-        let config = await client.database.guilds.read(interaction.guild.id);
+        const config = await client.database.guilds.read(interaction.guild.id);
         try {
             if (notify) {
                 dm = await (interaction.options.getMember("user") as GuildMember).send({
@@ -59,23 +59,23 @@
                         .setLabel(config.moderation.ban.text)
                         .setURL(config.moderation.ban.link)
                     ] : [])]
-                })
-                dmd = true
+                });
+                dmd = true;
             }
-        } catch {}
+        } catch { dmd = false; }
         try {
-            let member = (interaction.options.getMember("user") as GuildMember)
+            const member = (interaction.options.getMember("user") as GuildMember);
             member.ban({
                 days: Number(interaction.options.getNumber("delete") ?? 0),
                 reason: reason ?? "No reason provided"
-            })
-            try { await client.database.history.create("ban", interaction.guild.id, member.user, interaction.user, reason) } catch {}
-            const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger
-            let data = {
+            });
+            await client.database.history.create("ban", interaction.guild.id, member.user, interaction.user, reason);
+            const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger;
+            const data = {
                 meta: {
-                    type: 'memberBan',
-                    displayName: 'Member Banned',
-                    calculateType: 'guildMemberPunish',
+                    type: "memberBan",
+                    displayName: "Member Banned",
+                    calculateType: "guildMemberPunish",
                     color: NucleusColors.red,
                     emoji: "PUNISH.BAN.RED",
                     timestamp: new Date().getTime()
@@ -87,64 +87,64 @@
                     bannedBy: entry(interaction.user.id, renderUser(interaction.user)),
                     reason: entry(reason, reason ? `\n> ${reason}` : "*No reason provided.*"),
                     accountCreated: entry(member.user.createdAt, renderDelta(member.user.createdAt)),
-                    serverMemberCount: interaction.guild.memberCount,
+                    serverMemberCount: interaction.guild.memberCount
                 },
                 hidden: {
                     guild: interaction.guild.id
                 }
-            }
+            };
             log(data);
         } catch {
             await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("PUNISH.BAN.RED")
-                .setTitle(`Ban`)
+                .setTitle("Ban")
                 .setDescription("Something went wrong and the user was not banned")
                 .setStatus("Danger")
-            ], components: []})
-            if (dmd) await dm.delete()
-            return
+            ], components: []});
+            if (dmd) await dm.delete();
+            return;
         }
-        let failed = (dmd === false && notify)
+        const failed = (dmd === false && notify);
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji(`PUNISH.BAN.${failed ? "YELLOW" : "GREEN"}`)
-            .setTitle(`Ban`)
+            .setTitle("Ban")
             .setDescription("The member was banned" + (failed ? ", but could not be notified" : ""))
             .setStatus(failed ? "Warning" : "Success")
-        ], components: []})
+        ], components: []});
     } else {
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("PUNISH.BAN.GREEN")
-            .setTitle(`Ban`)
+            .setTitle("Ban")
             .setDescription("No changes were made")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
-    let me = (interaction.guild.me as GuildMember)
-    let apply = (interaction.options.getMember("user") as GuildMember)
-    if (member === null || me === null || apply === null) throw "That member is not in the server"
-    let memberPos = member.roles ? member.roles.highest.position : 0
-    let mePos = me.roles ? me.roles.highest.position : 0
-    let applyPos = apply.roles ? apply.roles.highest.position : 0
+    const member = (interaction.member as GuildMember);
+    const me = (interaction.guild.me as GuildMember);
+    const apply = (interaction.options.getMember("user") as GuildMember);
+    if (member === null || me === null || apply === null) throw "That member is not in the server";
+    const memberPos = member.roles ? member.roles.highest.position : 0;
+    const mePos = me.roles ? me.roles.highest.position : 0;
+    const applyPos = apply.roles ? apply.roles.highest.position : 0;
     // Do not allow banning the owner
-    if (member.id === interaction.guild.ownerId) throw "You cannot ban the owner of the server"
+    if (member.id === interaction.guild.ownerId) throw "You cannot ban the owner of the server";
     // Check if Nucleus can ban the member
-    if (! (mePos > applyPos)) throw "I do not have a role higher than that member"
+    if (! (mePos > applyPos)) throw "I do not have a role higher than that member";
     // Check if Nucleus has permission to ban
     if (! me.permissions.has("BAN_MEMBERS")) throw "I do not have the *Ban Members* permission";
     // Do not allow banning Nucleus
-    if (member.id === interaction.guild.me.id) throw "I cannot ban myself"
+    if (member.id === interaction.guild.me.id) throw "I cannot ban myself";
     // Allow the owner to ban anyone
-    if (member.id === interaction.guild.ownerId) return true
+    if (member.id === interaction.guild.ownerId) return true;
     // Check if the user has ban_members permission
     if (! member.permissions.has("BAN_MEMBERS")) throw "You do not have the *Ban Members* permission";
     // Check if the user is below on the role list
-    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member"
+    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member";
     // Allow ban
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/info.ts b/src/commands/mod/info.ts
index c50c6f4..482af5b 100644
--- a/src/commands/mod/info.ts
+++ b/src/commands/mod/info.ts
@@ -1,18 +1,18 @@
-import { HistorySchema } from '../../utils/database';
+import { HistorySchema } from "../../utils/database";
 import Discord, { CommandInteraction, GuildMember, MessageActionRow, MessageButton, TextInputComponent } from "discord.js";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import { WrappedCheck } from "jshaiku";
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
 import getEmojiByName from "../../utils/getEmojiByName.js";
 import client from "../../utils/client.js";
-import { modalInteractionCollector } from '../../utils/dualCollector.js';
-import pageIndicator from '../../utils/createPageIndicator.js';
+import { modalInteractionCollector } from "../../utils/dualCollector.js";
+import pageIndicator from "../../utils/createPageIndicator.js";
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("info")
-    .setDescription("Shows moderator information about a user")
-    .addUserOption(option => option.setName("user").setDescription("The user to get information about").setRequired(true))
+        .setName("info")
+        .setDescription("Shows moderator information about a user")
+        .addUserOption(option => option.setName("user").setDescription("The user to get information about").setRequired(true));
 
 const types = {
     "warn": {emoji: "PUNISH.WARN.YELLOW", text: "Warned"},
@@ -26,7 +26,7 @@
     "unban": {emoji: "MEMBER.UNBAN", text: "Unbanned"},
     "purge": {emoji: "PUNISH.CLEARHISTORY", text: "Messages cleared"},
     "nickname": {emoji: "PUNISH.NICKNAME.YELLOW", text: "Nickname changed"}
-}
+};
 
 function historyToString(history: HistorySchema) {
     let s = `${getEmojiByName(types[history.type].emoji)} ${
@@ -44,16 +44,16 @@
 
 class TimelineSection {
     name: string;
-    content: {data: HistorySchema, rendered: string}[] = []
+    content: {data: HistorySchema, rendered: string}[] = [];
 
-    addContent = (content: {data: HistorySchema, rendered: string}) => { this.content.push(content); return this; }
+    addContent = (content: {data: HistorySchema, rendered: string}) => { this.content.push(content); return this; };
     contentLength = () => { return this.content.reduce((acc, cur) => acc + cur.rendered.length, 0); };
     generateName = () => {
-        let first = Math.round(this.content[0].data.occurredAt.getTime() / 1000)
-        let last = Math.round(this.content[this.content.length - 1].data.occurredAt.getTime() / 1000)
+        const first = Math.round(this.content[0].data.occurredAt.getTime() / 1000);
+        const last = Math.round(this.content[this.content.length - 1].data.occurredAt.getTime() / 1000);
         if (first === last) { return this.name = `<t:${first}:F>`; }
         return this.name = `<t:${first}:F> - <t:${last}:F>`;
-    }
+    };
 }
 
 const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
@@ -70,15 +70,15 @@
             history = await client.database.history.read(member.guild.id, member.id, currentYear);
             history = history.sort((a, b) => b.occurredAt.getTime() - a.occurredAt.getTime()).reverse();
             if (openFilterPane) {
-                let tempFilteredTypes = filteredTypes
+                let tempFilteredTypes = filteredTypes;
                 if (filteredTypes.length === 0) { tempFilteredTypes = Object.keys(types); }
-                history = history.filter(h => tempFilteredTypes.includes(h.type))
-            };
+                history = history.filter(h => tempFilteredTypes.includes(h.type));
+            }
             refresh = false;
         }
-        let groups: TimelineSection[] = []
+        const groups: TimelineSection[] = [];
         if (history.length > 0) {
-            current = new TimelineSection()
+            current = new TimelineSection();
             history.forEach(event => {
                 if (current.contentLength() + historyToString(event).length > 2000 || current.content.length === 5) {
                     groups.push(current);
@@ -91,17 +91,17 @@
             groups.push(current);
             if (pageIndex === null) { pageIndex = groups.length - 1; }
         }
-        let components = (
+        const components = (
             openFilterPane ? [
-            new MessageActionRow().addComponents([new Discord.MessageSelectMenu().setOptions(
-                Object.entries(types).map(([key, value]) => ({
+                new MessageActionRow().addComponents([new Discord.MessageSelectMenu().setOptions(
+                    Object.entries(types).map(([key, value]) => ({
                         label: value.text,
                         value: key,
                         default: filteredTypes.includes(key),
                         emoji: client.emojis.resolve(getEmojiByName(value.emoji, "id"))
-                }))
-            ).setMinValues(1).setMaxValues(Object.keys(types).length).setCustomId("filter").setPlaceholder("Select at least one event")])
-        ] : []).concat([
+                    }))
+                ).setMinValues(1).setMaxValues(Object.keys(types).length).setCustomId("filter").setPlaceholder("Select at least one event")])
+            ] : []).concat([
             new MessageActionRow().addComponents([
                 new MessageButton()
                     .setCustomId("prevYear")
@@ -126,7 +126,7 @@
                     .setLabel((currentYear + 1).toString())
                     .setEmoji(getEmojiByName("CONTROL.RIGHT", "id"))
                     .setStyle("SECONDARY")
-                    .setDisabled(currentYear === new Date().getFullYear()),
+                    .setDisabled(currentYear === new Date().getFullYear())
             ]), new MessageActionRow().addComponents([
                 new MessageButton()
                     .setLabel("Mod notes")
@@ -139,14 +139,14 @@
                     .setStyle(openFilterPane ? "SUCCESS" : "PRIMARY")
                     .setEmoji(getEmojiByName("ICONS.FILTER", "id"))
             ])
-        ])
-        let end = "\n\nJanuary " + currentYear.toString() + pageIndicator(
+        ]);
+        const end = "\n\nJanuary " + currentYear.toString() + pageIndicator(
             Math.max(groups.length, 1),
             groups.length === 0 ? 1 : pageIndex
         ) + (currentYear === new Date().getFullYear() ? monthNames[new Date().getMonth()] : "December"
-        ) + " " + currentYear.toString()
+        ) + " " + currentYear.toString();
         if (groups.length > 0) {
-            let toRender = groups[Math.min(pageIndex, groups.length - 1)]
+            const toRender = groups[Math.min(pageIndex, groups.length - 1)];
             m = await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("MEMBER.JOIN")
                 .setTitle("Moderation history for " + member.user.username)
@@ -158,7 +158,7 @@
             m = await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("MEMBER.JOIN")
                 .setTitle("Moderation history for " + member.user.username)
-                .setDescription(`**${currentYear}**\n\n*No events*` + `\n\n` + end)
+                .setDescription(`**${currentYear}**\n\n*No events*` + "\n\n" + end)
                 .setStatus("Success")
                 .setFooter({text: (openFilterPane && filteredTypes.length) ? "Filters are currently enabled" : ""})
             ], components: components});
@@ -174,9 +174,9 @@
                 .setStatus("Danger")
                 .setFooter({text: "Message timed out"})
             ]});
-            return 0
+            return 0;
         }
-        i.deferUpdate()
+        i.deferUpdate();
         if (i.customId === "filter") {
             filteredTypes = i.values;
             pageIndex = null;
@@ -193,15 +193,15 @@
             if (pageIndex >= groups.length) { pageIndex = 0; currentYear++; refresh = true; }
         }
         if (i.customId === "today") { currentYear = new Date().getFullYear(); pageIndex = null; refresh = true; }
-        if (i.customId === "modNotes") { return 1 }
-        if (i.customId === "openFilter") { openFilterPane = !openFilterPane; refresh = true }
+        if (i.customId === "modNotes") { return 1; }
+        if (i.customId === "openFilter") { openFilterPane = !openFilterPane; refresh = true; }
     }
 }
 
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
     let m;
-    let member = (interaction.options.getMember("user")) as Discord.GuildMember;
+    const member = (interaction.options.getMember("user")) as Discord.GuildMember;
     await interaction.reply({embeds: [new EmojiEmbed()
         .setEmoji("NUCLEUS.LOADING")
         .setTitle("Downloading Data")
@@ -233,9 +233,9 @@
         let i;
         try {
             i = await m.awaitMessageComponent({ time: 300000 });
-        } catch (e) { return }
+        } catch (e) { return; }
         if (i.customId === "modify") {
-            await i.showModal(new Discord.Modal().setCustomId("modal").setTitle(`Editing moderator note`).addComponents(
+            await i.showModal(new Discord.Modal().setCustomId("modal").setTitle("Editing moderator note").addComponents(
                 new MessageActionRow<TextInputComponent>().addComponents(new TextInputComponent()
                     .setCustomId("note")
                     .setLabel("Note")
@@ -244,7 +244,7 @@
                     .setStyle("PARAGRAPH")
                     .setValue(note ? note : "")
                 )
-            ))
+            ));
             await interaction.editReply({
                 embeds: [new EmojiEmbed()
                     .setTitle("Mod notes for " + member.user.username)
@@ -260,24 +260,24 @@
             });
             let out;
             try {
-                out = await modalInteractionCollector(m, (m) => m.channel.id === interaction.channel.id, (m) => m.customId === "modify")
-            } catch (e) { continue }
+                out = await modalInteractionCollector(m, (m) => m.channel.id === interaction.channel.id, (m) => m.customId === "modify");
+            } catch (e) { continue; }
             if (out.fields) {
-                let toAdd = out.fields.getTextInputValue("note") || null;
+                const toAdd = out.fields.getTextInputValue("note") || null;
                 await client.database.notes.create(member.guild.id, member.id, toAdd);
-            } else { continue }
+            } else { continue; }
         } else if (i.customId === "history") {
             i.deferUpdate();
-            if (!await showHistory(member, interaction) ) return
+            if (!await showHistory(member, interaction) ) return;
         }
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
+    const member = (interaction.member as GuildMember);
     if (! member.permissions.has("MODERATE_MEMBERS")) throw "You do not have the *Moderate Members* permission";
-    return true
-}
+    return true;
+};
 
 export { command };
 export { callback };
diff --git a/src/commands/mod/kick.ts b/src/commands/mod/kick.ts
index ef748e8..b9b1b2a 100644
--- a/src/commands/mod/kick.ts
+++ b/src/commands/mod/kick.ts
@@ -1,5 +1,5 @@
 import { CommandInteraction, GuildMember, MessageActionRow, MessageButton } from "discord.js";
-import humanizeDuration from 'humanize-duration';
+import humanizeDuration from "humanize-duration";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import { WrappedCheck } from "jshaiku";
 import confirmationMessage from "../../utils/confirmationMessage.js";
@@ -9,16 +9,16 @@
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("kick")
-    .setDescription("Kicks a user from the server")
-    .addUserOption(option => option.setName("user").setDescription("The user to kick").setRequired(true))
+        .setName("kick")
+        .setDescription("Kicks a user from the server")
+        .addUserOption(option => option.setName("user").setDescription("The user to kick").setRequired(true));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
-    const { renderUser } = client.logger
+    const { renderUser } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let reason = null;
     let notify = true;
-    let confirmation
+    let confirmation;
     while (true) {
         confirmation = await new confirmationMessage(interaction)
             .setEmoji("PUNISH.KICK.RED")
@@ -27,23 +27,23 @@
                 "user": renderUser(interaction.options.getUser("user")),
                 "reason": reason ? ("\n> " + ((reason ?? "").replaceAll("\n", "\n> "))) : "*No reason provided*"
             })
-            + `The user **will${notify ? '' : ' not'}** be notified\n\n`
+            + `The user **will${notify ? "" : " not"}** be notified\n\n`
             + `Are you sure you want to kick <@!${(interaction.options.getMember("user") as GuildMember).id}>?`)
             .setColor("Danger")
             .addReasonButton(reason ?? "")
-        .send(reason !== null)
-        reason = reason ?? ""
-        if (confirmation.cancelled) return
-        if (confirmation.success) break
-        if (confirmation.newReason) reason = confirmation.newReason
+            .send(reason !== null);
+        reason = reason ?? "";
+        if (confirmation.cancelled) return;
+        if (confirmation.success) break;
+        if (confirmation.newReason) reason = confirmation.newReason;
         if (confirmation.components) {
-            notify = confirmation.components.notify.active
+            notify = confirmation.components.notify.active;
         }
     }
     if (confirmation.success) {
-        let dmd = false
+        let dmd = false;
         let dm;
-        let config = await client.database.guilds.read(interaction.guild.id);
+        const config = await client.database.guilds.read(interaction.guild.id);
         try {
             if (notify) {
                 dm = await (interaction.options.getMember("user") as GuildMember).send({
@@ -59,20 +59,20 @@
                         .setLabel(config.moderation.kick.text)
                         .setURL(config.moderation.kick.link)
                     ] : [])]
-                })
-                dmd = true
+                });
+                dmd = true;
             }
-        } catch {}
+        } catch { dmd = false; }
         try {
-            (interaction.options.getMember("user") as GuildMember).kick(reason ?? "No reason provided.")
-            let member = (interaction.options.getMember("user") as GuildMember)
-            try { await client.database.history.create("kick", interaction.guild.id, member.user, interaction.user, reason) } catch {}
-            const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger
-            let data = {
+            (interaction.options.getMember("user") as GuildMember).kick(reason ?? "No reason provided.");
+            const member = (interaction.options.getMember("user") as GuildMember);
+            await client.database.history.create("kick", interaction.guild.id, member.user, interaction.user, reason);
+            const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger;
+            const data = {
                 meta: {
-                    type: 'memberKick',
-                    displayName: 'Member Kicked',
-                    calculateType: 'guildMemberPunish',
+                    type: "memberKick",
+                    displayName: "Member Kicked",
+                    calculateType: "guildMemberPunish",
                     color: NucleusColors.red,
                     emoji: "PUNISH.KICK.RED",
                     timestamp: new Date().getTime()
@@ -86,64 +86,64 @@
                     reason: entry(reason, reason ? `\n> ${reason}` : "*No reason provided.*"),
                     timeInServer: entry(new Date().getTime() - member.joinedTimestamp, humanizeDuration(new Date().getTime() - member.joinedTimestamp, { round: true })),
                     accountCreated: entry(member.user.createdAt, renderDelta(member.user.createdAt)),
-                    serverMemberCount: member.guild.memberCount,
+                    serverMemberCount: member.guild.memberCount
                 },
                 hidden: {
                     guild: member.guild.id
                 }
-            }
+            };
             log(data);
         } catch {
             await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("PUNISH.KICK.RED")
-                .setTitle(`Kick`)
+                .setTitle("Kick")
                 .setDescription("Something went wrong and the user was not kicked")
                 .setStatus("Danger")
-            ], components: []})
-            if (dmd) await dm.delete()
-            return
+            ], components: []});
+            if (dmd) await dm.delete();
+            return;
         }
-        let failed = (dmd === false && notify)
+        const failed = (dmd === false && notify);
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji(`PUNISH.KICK.${failed ? "YELLOW" : "GREEN"}`)
-            .setTitle(`Kick`)
+            .setTitle("Kick")
             .setDescription("The member was kicked" + (failed ? ", but could not be notified" : ""))
             .setStatus(failed ? "Warning" : "Success")
-        ], components: []})
+        ], components: []});
     } else {
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("PUNISH.KICK.GREEN")
-            .setTitle(`Kick`)
+            .setTitle("Kick")
             .setDescription("No changes were made")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
-    let me = (interaction.guild.me as GuildMember)
-    let apply = (interaction.options.getMember("user") as GuildMember)
-    if (member === null || me === null || apply === null) throw "That member is not in the server"
-    let memberPos = member.roles ? member.roles.highest.position : 0
-    let mePos = me.roles ? me.roles.highest.position : 0
-    let applyPos = apply.roles ? apply.roles.highest.position : 0
+    const member = (interaction.member as GuildMember);
+    const me = (interaction.guild.me as GuildMember);
+    const apply = (interaction.options.getMember("user") as GuildMember);
+    if (member === null || me === null || apply === null) throw "That member is not in the server";
+    const memberPos = member.roles ? member.roles.highest.position : 0;
+    const mePos = me.roles ? me.roles.highest.position : 0;
+    const applyPos = apply.roles ? apply.roles.highest.position : 0;
     // Do not allow kicking the owner
-    if (member.id === interaction.guild.ownerId) throw "You cannot kick the owner of the server"
+    if (member.id === interaction.guild.ownerId) throw "You cannot kick the owner of the server";
     // Check if Nucleus can kick the member
-    if (! (mePos > applyPos)) throw "I do not have a role higher than that member"
+    if (! (mePos > applyPos)) throw "I do not have a role higher than that member";
     // Check if Nucleus has permission to kick
     if (! me.permissions.has("KICK_MEMBERS")) throw "I do not have the *Kick Members* permission";
     // Do not allow kicking Nucleus
-    if (member.id === interaction.guild.me.id) throw "I cannot kick myself"
+    if (member.id === interaction.guild.me.id) throw "I cannot kick myself";
     // Allow the owner to kick anyone
-    if (member.id === interaction.guild.ownerId) return true
+    if (member.id === interaction.guild.ownerId) return true;
     // Check if the user has kick_members permission
     if (! member.permissions.has("KICK_MEMBERS")) throw "You do not have the *Kick Members* permission";
     // Check if the user is below on the role list
-    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member"
+    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member";
     // Allow kick
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/mute.ts b/src/commands/mod/mute.ts
index 808d22d..183c487 100644
--- a/src/commands/mod/mute.ts
+++ b/src/commands/mod/mute.ts
@@ -1,4 +1,4 @@
-import { LoadingEmbed } from './../../utils/defaultEmbeds.js';
+import { LoadingEmbed } from "./../../utils/defaultEmbeds.js";
 import Discord, { CommandInteraction, GuildMember, MessageActionRow, MessageButton } from "discord.js";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import { WrappedCheck } from "jshaiku";
@@ -12,30 +12,30 @@
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("mute")
-    .setDescription("Mutes a member, stopping them from talking in the server")
-    .addUserOption(option => option.setName("user").setDescription("The user to mute").setRequired(true))
-    .addIntegerOption(option => option.setName("days").setDescription("The number of days to mute the user for | Default: 0").setMinValue(0).setMaxValue(27).setRequired(false))
-    .addIntegerOption(option => option.setName("hours").setDescription("The number of hours to mute the user for | Default: 0").setMinValue(0).setMaxValue(23).setRequired(false))
-    .addIntegerOption(option => option.setName("minutes").setDescription("The number of minutes to mute the user for | Default: 0").setMinValue(0).setMaxValue(59).setRequired(false))
-    .addIntegerOption(option => option.setName("seconds").setDescription("The number of seconds to mute the user for | Default: 0").setMinValue(0).setMaxValue(59).setRequired(false))
+        .setName("mute")
+        .setDescription("Mutes a member, stopping them from talking in the server")
+        .addUserOption(option => option.setName("user").setDescription("The user to mute").setRequired(true))
+        .addIntegerOption(option => option.setName("days").setDescription("The number of days to mute the user for | Default: 0").setMinValue(0).setMaxValue(27).setRequired(false))
+        .addIntegerOption(option => option.setName("hours").setDescription("The number of hours to mute the user for | Default: 0").setMinValue(0).setMaxValue(23).setRequired(false))
+        .addIntegerOption(option => option.setName("minutes").setDescription("The number of minutes to mute the user for | Default: 0").setMinValue(0).setMaxValue(59).setRequired(false))
+        .addIntegerOption(option => option.setName("seconds").setDescription("The number of seconds to mute the user for | Default: 0").setMinValue(0).setMaxValue(59).setRequired(false));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
-    const { log, NucleusColors, renderUser, entry, renderDelta } = client.logger
-    const user = interaction.options.getMember("user") as GuildMember
+    const { log, NucleusColors, renderUser, entry, renderDelta } = client.logger;
+    const user = interaction.options.getMember("user") as GuildMember;
     const time = {
         days: interaction.options.getInteger("days") || 0,
         hours: interaction.options.getInteger("hours") || 0,
         minutes: interaction.options.getInteger("minutes") || 0,
         seconds: interaction.options.getInteger("seconds") || 0
-    }
-    let config = await client.database.guilds.read(interaction.guild.id)
-    let serverSettingsDescription = (config.moderation.mute.timeout ? "given a timeout" : "")
-    if (config.moderation.mute.role) serverSettingsDescription += (serverSettingsDescription ? " and " : "") + `given the <@&${config.moderation.mute.role}> role`
+    };
+    const config = await client.database.guilds.read(interaction.guild.id);
+    let serverSettingsDescription = (config.moderation.mute.timeout ? "given a timeout" : "");
+    if (config.moderation.mute.role) serverSettingsDescription += (serverSettingsDescription ? " and " : "") + `given the <@&${config.moderation.mute.role}> role`;
 
-    let muteTime = (time.days * 24 * 60 * 60) + (time.hours * 60 * 60) + (time.minutes * 60) + time.seconds
+    let muteTime = (time.days * 24 * 60 * 60) + (time.hours * 60 * 60) + (time.minutes * 60) + time.seconds;
     if (muteTime === 0) {
-        let m = await interaction.reply({embeds: [
+        const m = await interaction.reply({embeds: [
             new EmojiEmbed()
                 .setEmoji("PUNISH.MUTE.GREEN")
                 .setTitle("Mute")
@@ -85,30 +85,30 @@
                     .setStyle("DANGER")
                     .setEmoji(getEmojiByName("CONTROL.CROSS", "id"))
             ])
-        ], ephemeral: true, fetchReply: true})
+        ], ephemeral: true, fetchReply: true});
         let component;
         try {
             component = await (m as Discord.Message).awaitMessageComponent({filter: (m) => m.user.id === interaction.user.id, time: 300000});
-        } catch { return }
+        } catch { return; }
         component.deferUpdate();
         if (component.customId === "cancel") return interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("PUNISH.MUTE.RED")
             .setTitle("Mute")
             .setDescription("Mute cancelled")
             .setStatus("Danger")
-        ]})
+        ]});
         switch (component.customId) {
-            case "1m": { muteTime = 60; break; }
-            case "10m": { muteTime = 60 * 10; break; }
-            case "30m": { muteTime = 60 * 30; break; }
-            case "1h": { muteTime = 60 * 60; break; }
-            case "6h": { muteTime = 60 * 60 * 6; break; }
-            case "12h": { muteTime = 60 * 60 * 12; break; }
-            case "1d": { muteTime = 60 * 60 * 24; break; }
-            case "1w": { muteTime = 60 * 60 * 24 * 7; break; }
+        case "1m": { muteTime = 60; break; }
+        case "10m": { muteTime = 60 * 10; break; }
+        case "30m": { muteTime = 60 * 30; break; }
+        case "1h": { muteTime = 60 * 60; break; }
+        case "6h": { muteTime = 60 * 60 * 6; break; }
+        case "12h": { muteTime = 60 * 60 * 12; break; }
+        case "1d": { muteTime = 60 * 60 * 24; break; }
+        case "1w": { muteTime = 60 * 60 * 24 * 7; break; }
         }
     } else {
-        await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true})
+        await interaction.reply({embeds: LoadingEmbed, ephemeral: true, fetchReply: true});
     }
     // TODO:[Modals] Replace this with a modal
     let reason = null;
@@ -124,8 +124,8 @@
                 "time": `${humanizeDuration(muteTime * 1000, {round: true})}`,
                 "reason": reason ?  ("\n> " + ((reason ?? "").replaceAll("\n", "\n> "))) : "*No reason provided*"
             })
-            + `The user will be ` + serverSettingsDescription + "\n"
-            + `The user **will${notify ? '' : ' not'}** be notified\n\n`
+            + "The user will be " + serverSettingsDescription + "\n"
+            + `The user **will${notify ? "" : " not"}** be notified\n\n`
             + `Are you sure you want to mute <@!${user.id}>?`)
             .setColor("Danger")
             .addCustomBoolean(
@@ -134,20 +134,20 @@
                 "An appeal ticket will be created when Confirm is clicked", "CONTROL.TICKET", createAppealTicket)
             .addCustomBoolean("notify", "Notify user", false, null, null, "ICONS.NOTIFY." + (notify ? "ON" : "OFF" ), notify)
             .addReasonButton(reason ?? "")
-        .send(true)
-        reason = reason ?? ""
-        if (confirmation.cancelled) return
-        if (confirmation.success) break
-        if (confirmation.newReason) reason = confirmation.newReason
+            .send(true);
+        reason = reason ?? "";
+        if (confirmation.cancelled) return;
+        if (confirmation.success) break;
+        if (confirmation.newReason) reason = confirmation.newReason;
         if (confirmation.components) {
-            notify = confirmation.components.notify.active
-            createAppealTicket = confirmation.components.appeal.active
+            notify = confirmation.components.notify.active;
+            createAppealTicket = confirmation.components.appeal.active;
         }
     }
     if (confirmation.success) {
-        let dmd = false
+        let dmd = false;
         let dm;
-        let config = await client.database.guilds.read(interaction.guild.id);
+        const config = await client.database.guilds.read(interaction.guild.id);
         try {
             if (notify) {
                 dm = await user.send({
@@ -157,7 +157,7 @@
                         .setDescription(`You have been muted in ${interaction.guild.name}` +
                                     (reason ? ` for:\n> ${reason}` : ".\n\n" +
                                     `You will be unmuted at: <t:${Math.round((new Date).getTime() / 1000) + muteTime}:D> at <t:${Math.round((new Date).getTime() / 1000) + muteTime}:T> (<t:${Math.round((new Date).getTime() / 1000) + muteTime}:R>)`) +
-                                    (confirmation.components.appeal.response ? `You can appeal this here: <#${confirmation.components.appeal.response}>` : ``))
+                                    (confirmation.components.appeal.response ? `You can appeal this here: <#${confirmation.components.appeal.response}>` : ""))
                         .setStatus("Danger")
                     ],
                     components: [new MessageActionRow().addComponents(config.moderation.mute.text ? [new MessageButton()
@@ -165,60 +165,60 @@
                         .setLabel(config.moderation.mute.text)
                         .setURL(config.moderation.mute.link)
                     ] : [])]
-                })
-                dmd = true
+                });
+                dmd = true;
             }
-        } catch {}
-        let member = user
-        let errors = 0
+        } catch { dmd = false; }
+        const member = user;
+        let errors = 0;
         try {
             if (config.moderation.mute.timeout) {
-                await member.timeout(muteTime * 1000, reason || "No reason provided")
+                await member.timeout(muteTime * 1000, reason || "No reason provided");
                 if (config.moderation.mute.role !== null) {
-                    await member.roles.add(config.moderation.mute.role)
+                    await member.roles.add(config.moderation.mute.role);
                     await client.database.eventScheduler.schedule("naturalUnmute", new Date().getTime() + muteTime * 1000, {
                         guild: interaction.guild.id,
                         user: user.id,
                         expires: new Date().getTime() + muteTime * 1000
-                    })
+                    });
                 }
             }
-        } catch { errors++ }
+        } catch { errors++; }
         try {
             if (config.moderation.mute.role !== null) {
-                await member.roles.add(config.moderation.mute.role)
+                await member.roles.add(config.moderation.mute.role);
                 await client.database.eventScheduler.schedule("unmuteRole", new Date().getTime() + muteTime * 1000, {
                     guild: interaction.guild.id,
                     user: user.id,
                     role: config.moderation.mute.role
-                })
+                });
             }
-        } catch (e){ console.log(e); errors++ }
+        } catch (e){ console.log(e); errors++; }
         if (errors === 2) {
             await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("PUNISH.MUTE.RED")
-                .setTitle(`Mute`)
+                .setTitle("Mute")
                 .setDescription("Something went wrong and the user was not muted")
                 .setStatus("Danger")
-            ], components: []}) // TODO: make this clearer
-            if (dmd) await dm.delete()
-            return
+            ], components: []}); // TODO: make this clearer
+            if (dmd) await dm.delete();
+            return;
         }
-        try { await client.database.history.create("mute", interaction.guild.id, member.user, interaction.user, reason) } catch {}
-        let failed = (dmd === false && notify)
+        await client.database.history.create("mute", interaction.guild.id, member.user, interaction.user, reason);
+        const failed = (dmd === false && notify);
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji(`PUNISH.MUTE.${failed ? "YELLOW" : "GREEN"}`)
-            .setTitle(`Mute`)
-            .setDescription("The member was muted" + (failed ? ", but could not be notified" : "") + (confirmation.components.appeal.response ? ` and an appeal ticket was opened in <#${confirmation.components.appeal.response}>` : ``))
+            .setTitle("Mute")
+            .setDescription("The member was muted" + (failed ? ", but could not be notified" : "") + (confirmation.components.appeal.response ? ` and an appeal ticket was opened in <#${confirmation.components.appeal.response}>` : ""))
             .setStatus(failed ? "Warning" : "Success")
-        ], components: []})
-        let data = {
+        ], components: []});
+        const data = {
             meta:{
-                type: 'memberMute',
-                displayName: 'Member Muted',
-                calculateType: 'guildMemberPunish',
+                type: "memberMute",
+                displayName: "Member Muted",
+                calculateType: "guildMemberPunish",
                 color: NucleusColors.yellow,
-                emoji: 'PUNISH.WARN.YELLOW',
+                emoji: "PUNISH.WARN.YELLOW",
                 timestamp: new Date().getTime()
             },
             list: {
@@ -227,47 +227,47 @@
                 mutedUntil: entry(new Date().getTime() + muteTime * 1000, renderDelta(new Date().getTime() + muteTime * 1000)),
                 muted: entry(new Date().getTime(), renderDelta(new Date().getTime() - 1000)),
                 mutedBy: entry(interaction.member.user.id, renderUser(interaction.member.user)),
-                reason: entry(reason, reason ? reason : '*No reason provided*')
+                reason: entry(reason, reason ? reason : "*No reason provided*")
             },
             hidden: {
                 guild: interaction.guild.id
             }
-        }
+        };
         log(data);
     } else {
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("PUNISH.MUTE.GREEN")
-            .setTitle(`Mute`)
+            .setTitle("Mute")
             .setDescription("No changes were made")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
-    let me = (interaction.guild.me as GuildMember)
-    let apply = (interaction.options.getMember("user") as GuildMember)
-    if (member === null || me === null || apply === null) throw "That member is not in the server"
-    let memberPos = member.roles ? member.roles.highest.position : 0
-    let mePos = me.roles ? me.roles.highest.position : 0
-    let applyPos = apply.roles ? apply.roles.highest.position : 0
+    const member = (interaction.member as GuildMember);
+    const me = (interaction.guild.me as GuildMember);
+    const apply = (interaction.options.getMember("user") as GuildMember);
+    if (member === null || me === null || apply === null) throw "That member is not in the server";
+    const memberPos = member.roles ? member.roles.highest.position : 0;
+    const mePos = me.roles ? me.roles.highest.position : 0;
+    const applyPos = apply.roles ? apply.roles.highest.position : 0;
     // Do not allow muting the owner
-    if (member.id === interaction.guild.ownerId) throw "You cannot mute the owner of the server"
+    if (member.id === interaction.guild.ownerId) throw "You cannot mute the owner of the server";
     // Check if Nucleus can mute the member
-    if (! (mePos > applyPos)) throw "I do not have a role higher than that member"
+    if (! (mePos > applyPos)) throw "I do not have a role higher than that member";
     // Check if Nucleus has permission to mute
     if (! me.permissions.has("MODERATE_MEMBERS")) throw "I do not have the *Moderate Members* permission";
     // Do not allow muting Nucleus
-    if (member.id === me.id) throw "I cannot mute myself"
+    if (member.id === me.id) throw "I cannot mute myself";
     // Allow the owner to mute anyone
-    if (member.id === interaction.guild.ownerId) return true
+    if (member.id === interaction.guild.ownerId) return true;
     // Check if the user has moderate_members permission
     if (! member.permissions.has("MODERATE_MEMBERS")) throw "You do not have the *Moderate Members* permission";
     // Check if the user is below on the role list
-    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member"
+    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member";
     // Allow mute
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/nick.ts b/src/commands/mod/nick.ts
index d50becd..9cc8a7c 100644
--- a/src/commands/mod/nick.ts
+++ b/src/commands/mod/nick.ts
@@ -5,17 +5,17 @@
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
 import keyValueList from "../../utils/generateKeyValueList.js";
 import { create, areTicketsEnabled } from "../../actions/createModActionTicket.js";
-import client from "../../utils/client.js"
+import client from "../../utils/client.js";
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("nick")
-    .setDescription("Changes a users nickname")
-    .addUserOption(option => option.setName("user").setDescription("The user to change").setRequired(true))
-    .addStringOption(option => option.setName("name").setDescription("The name to set | Leave blank to clear").setRequired(false))
+        .setName("nick")
+        .setDescription("Changes a users nickname")
+        .addUserOption(option => option.setName("user").setDescription("The user to change").setRequired(true))
+        .addStringOption(option => option.setName("name").setDescription("The name to set | Leave blank to clear").setRequired(false));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
-    const { renderUser } = client.logger
+    const { renderUser } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let notify = true;
     let confirmation;
@@ -27,19 +27,19 @@
                 "user": renderUser(interaction.options.getUser("user")),
                 "new nickname": `${interaction.options.getString("name") ? interaction.options.getString("name") : "*No nickname*"}`
             })
-            + `The user **will${notify ? '' : ' not'}** be notified\n\n`
+            + `The user **will${notify ? "" : " not"}** be notified\n\n`
             + `Are you sure you want to ${interaction.options.getString("name") ? "change" : "clear"} <@!${(interaction.options.getMember("user") as GuildMember).id}>'s nickname?`)
             .setColor("Danger")
             .addCustomBoolean("notify", "Notify user", false, null, null, "ICONS.NOTIFY." + (notify ? "ON" : "OFF" ), notify)
-        .send(interaction.options.getString("name") !== null)
-        if (confirmation.cancelled) return
-        if (confirmation.success) break
+            .send(interaction.options.getString("name") !== null);
+        if (confirmation.cancelled) return;
+        if (confirmation.success) break;
         if (confirmation.components) {
-            notify = confirmation.components.notify.active
+            notify = confirmation.components.notify.active;
         }
     }
     if (confirmation.success) {
-        let dmd = false
+        let dmd = false;
         let dm;
         try {
             if (notify) {
@@ -49,94 +49,94 @@
                         .setTitle("Nickname changed")
                         .setDescription(`Your nickname was ${interaction.options.getString("name") ? "changed" : "cleared"} in ${interaction.guild.name}.` +
                                     (interaction.options.getString("name") ? ` it is now: ${interaction.options.getString("name")}` : "") + "\n\n" +
-                                    (confirmation.components.appeal.response ? `You can appeal this here: <#${confirmation.components.appeal.response}>` : ``))
+                                    (confirmation.components.appeal.response ? `You can appeal this here: <#${confirmation.components.appeal.response}>` : ""))
                         .setStatus("Danger")
                     ]
-                })
-                dmd = true
+                });
+                dmd = true;
             }
-        } catch {}
+        } catch { dmd = false; }
         try {
-            let member = (interaction.options.getMember("user") as GuildMember)
-            let before = member.nickname
-            let nickname = interaction.options.getString("name")
-            member.setNickname(nickname ?? null, "Nucleus Nickname command")
-            try { await client.database.history.create(
+            const member = (interaction.options.getMember("user") as GuildMember);
+            const before = member.nickname;
+            const nickname = interaction.options.getString("name");
+            member.setNickname(nickname ?? null, "Nucleus Nickname command");
+            await client.database.history.create(
                 "nickname", interaction.guild.id, member.user, interaction.user,
-                null, before, nickname) } catch {}
-            const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger
-            let data = {
+                null, before, nickname);
+            const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger;
+            const data = {
                 meta: {
-                    type: 'memberUpdate',
-                    displayName: 'Member Updated',
-                    calculateType: 'guildMemberUpdate',
+                    type: "memberUpdate",
+                    displayName: "Member Updated",
+                    calculateType: "guildMemberUpdate",
                     color: NucleusColors.yellow,
                     emoji: "PUNISH.NICKNAME.YELLOW",
                     timestamp: new Date().getTime()
                 },
                 list: {
                     memberId: entry(member.id, `\`${member.id}\``),
-                    before: entry(before, before ? before : '*None*'),
-                    after: entry(nickname, nickname ? nickname : '*None*'),
+                    before: entry(before, before ? before : "*None*"),
+                    after: entry(nickname, nickname ? nickname : "*None*"),
                     updated: entry(new Date().getTime(), renderDelta(new Date().getTime())),
                     updatedBy: entry(interaction.user.id, renderUser(interaction.user))
                 },
                 hidden: {
                     guild: interaction.guild.id
                 }
-            }
+            };
             log(data);
         } catch {
             await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("PUNISH.NICKNAME.RED")
-                .setTitle(`Nickname`)
+                .setTitle("Nickname")
                 .setDescription("Something went wrong and the users nickname could not be changed.")
                 .setStatus("Danger")
-            ], components: []})
-            if (dmd) await dm.delete()
-            return
+            ], components: []});
+            if (dmd) await dm.delete();
+            return;
         }
-        let failed = (dmd === false && notify)
+        const failed = (dmd === false && notify);
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji(`PUNISH.NICKNAME.${failed ? "YELLOW" : "GREEN"}`)
-            .setTitle(`Nickname`)
-            .setDescription("The members nickname was changed" + (failed ? ", but was not notified" : "") + (confirmation.components.appeal.response ? ` and an appeal ticket was opened in <#${confirmation.components.appeal.response}>` : ``))
+            .setTitle("Nickname")
+            .setDescription("The members nickname was changed" + (failed ? ", but was not notified" : "") + (confirmation.components.appeal.response ? ` and an appeal ticket was opened in <#${confirmation.components.appeal.response}>` : ""))
             .setStatus(failed ? "Warning" : "Success")
-        ], components: []})
+        ], components: []});
     } else {
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("PUNISH.NICKNAME.GREEN")
-            .setTitle(`Nickname`)
+            .setTitle("Nickname")
             .setDescription("No changes were made")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
-    let me = (interaction.guild.me as GuildMember)
-    let apply = (interaction.options.getMember("user") as GuildMember)
-    if (member === null || me === null || apply === null) throw "That member is not in the server"
-    let memberPos = member.roles ? member.roles.highest.position : 0
-    let mePos = me.roles ? me.roles.highest.position : 0
-    let applyPos = apply.roles ? apply.roles.highest.position : 0
+    const member = (interaction.member as GuildMember);
+    const me = (interaction.guild.me as GuildMember);
+    const apply = (interaction.options.getMember("user") as GuildMember);
+    if (member === null || me === null || apply === null) throw "That member is not in the server";
+    const memberPos = member.roles ? member.roles.highest.position : 0;
+    const mePos = me.roles ? me.roles.highest.position : 0;
+    const applyPos = apply.roles ? apply.roles.highest.position : 0;
     // Do not allow any changing of the owner
-    if (member.id === interaction.guild.ownerId) throw "You cannot change the owner's nickname"
+    if (member.id === interaction.guild.ownerId) throw "You cannot change the owner's nickname";
     // Check if Nucleus can change the nickname
-    if (! (mePos > applyPos)) throw "I do not have a role higher than that member"
+    if (! (mePos > applyPos)) throw "I do not have a role higher than that member";
     // Check if Nucleus has permission to change the nickname
     if (! me.permissions.has("MANAGE_NICKNAMES")) throw "I do not have the *Manage Nicknames* permission";
     // Allow the owner to change anyone's nickname
-    if (member.id === interaction.guild.ownerId) return true
+    if (member.id === interaction.guild.ownerId) return true;
     // Check if the user has manage_nicknames permission
     if (! member.permissions.has("MANAGE_NICKNAMES")) throw "You do not have the *Manage Nicknames* permission";
     // Allow changing your own nickname
-    if (member === apply) return true
+    if (member === apply) return true;
     // Check if the user is below on the role list
-    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member"
+    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member";
     // Allow change
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/purge.ts b/src/commands/mod/purge.ts
index 521d8a7..13e688b 100644
--- a/src/commands/mod/purge.ts
+++ b/src/commands/mod/purge.ts
@@ -9,20 +9,20 @@
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("purge")
-    .setDescription("Bulk deletes messages in a channel")
-    .addIntegerOption(option => option
-        .setName("amount")
-        .setDescription("The amount of messages to delete")
-        .setRequired(false)
-        .setMinValue(1)
-        .setMaxValue(100))
-    .addUserOption(option => option.setName("user").setDescription("The user to purge messages from").setRequired(false))
-    .addStringOption(option => option.setName("reason").setDescription("The reason for the purge").setRequired(false))
+        .setName("purge")
+        .setDescription("Bulk deletes messages in a channel")
+        .addIntegerOption(option => option
+            .setName("amount")
+            .setDescription("The amount of messages to delete")
+            .setRequired(false)
+            .setMinValue(1)
+            .setMaxValue(100))
+        .addUserOption(option => option.setName("user").setDescription("The user to purge messages from").setRequired(false))
+        .addStringOption(option => option.setName("reason").setDescription("The reason for the purge").setRequired(false));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
-    let user = interaction.options.getMember("user") as GuildMember ?? null
-    let channel = (interaction.channel as GuildChannel)
+    const user = interaction.options.getMember("user") as GuildMember ?? null;
+    const channel = (interaction.channel as GuildChannel);
     if (!(["GUILD_TEXT", "GUILD_NEWS", "GUILD_NEWS_THREAD", "GUILD_PUBLIC_THREAD", "GUILD_PRIVATE_THREAD"].includes(channel.type.toString()))) {
         return await interaction.reply({
             embeds: [
@@ -33,8 +33,8 @@
                     .setStatus("Danger")
             ],
             components: [],
-            ephemeral: true,
-        })
+            ephemeral: true
+        });
     }
     // TODO:[Modals] Replace this with a modal
     if ( !interaction.options.getInteger("amount") ) {
@@ -49,10 +49,10 @@
             components: [],
             ephemeral: true,
             fetchReply: true
-        })
-        let deleted = [] as Discord.Message[]
+        });
+        let deleted = [] as Discord.Message[];
         while (true) {
-            let m = await interaction.editReply({
+            const m = await interaction.editReply({
                 embeds: [
                     new EmojiEmbed()
                         .setEmoji("CHANNEL.PURGE.RED")
@@ -74,8 +74,8 @@
                             .setCustomId("5")
                             .setLabel("5")
                             .setStyle("SECONDARY")
-                        ]),
-                        new Discord.MessageActionRow().addComponents([
+                    ]),
+                    new Discord.MessageActionRow().addComponents([
                         new Discord.MessageButton()
                             .setCustomId("10")
                             .setLabel("10")
@@ -97,7 +97,7 @@
                             .setEmoji(getEmojiByName("CONTROL.TICK", "id"))
                     ])
                 ]
-            })
+            });
             let component;
             try {
                 component = await (m as Discord.Message).awaitMessageComponent({filter: (m) => m.user.id === interaction.user.id, time: 300000});
@@ -109,12 +109,12 @@
             let messages;
             await (interaction.channel as TextChannel).messages.fetch({limit: amount}).then(async (ms) => {
                 if (user) {
-                    ms = ms.filter(m => m.author.id === user.id)
+                    ms = ms.filter(m => m.author.id === user.id);
                 }
                 messages = await (channel as TextChannel).bulkDelete(ms, true);
-            })
+            });
             if (messages) {
-                deleted = deleted.concat(messages.map(m => m))
+                deleted = deleted.concat(messages.map(m => m));
             }
         }
         if (deleted.length === 0) return await interaction.editReply({
@@ -126,49 +126,46 @@
                     .setStatus("Danger")
             ],
             components: []
-        })
+        });
         if (user) {
-            try { await client.database.history.create("purge", interaction.guild.id, user, interaction.options.getString("reason"), null, null, deleted.length) } catch {}
+            await client.database.history.create("purge", interaction.guild.id, user, interaction.options.getString("reason"), null, null, deleted.length);
         }
-        let attachmentObject;
-        try {
-            const { log, NucleusColors, entry, renderUser, renderChannel } = client.logger
-            let data = {
-                meta: {
-                    type: 'channelPurge',
-                    displayName: 'Channel Purged',
-                    calculateType: 'messageDelete',
-                    color: NucleusColors.red,
-                    emoji: "PUNISH.BAN.RED",
-                    timestamp: new Date().getTime()
-                },
-                list: {
-                    memberId: entry(interaction.user.id, `\`${interaction.user.id}\``),
-                    purgedBy: entry(interaction.user.id, renderUser(interaction.user)),
-                    channel: entry(interaction.channel.id, renderChannel(interaction.channel)),
-                    messagesCleared: entry(deleted.length, deleted.length),
-                },
-                hidden: {
-                    guild: interaction.guild.id
-                }
+        const { log, NucleusColors, entry, renderUser, renderChannel } = client.logger;
+        const data = {
+            meta: {
+                type: "channelPurge",
+                displayName: "Channel Purged",
+                calculateType: "messageDelete",
+                color: NucleusColors.red,
+                emoji: "PUNISH.BAN.RED",
+                timestamp: new Date().getTime()
+            },
+            list: {
+                memberId: entry(interaction.user.id, `\`${interaction.user.id}\``),
+                purgedBy: entry(interaction.user.id, renderUser(interaction.user)),
+                channel: entry(interaction.channel.id, renderChannel(interaction.channel)),
+                messagesCleared: entry(deleted.length, deleted.length)
+            },
+            hidden: {
+                guild: interaction.guild.id
             }
-            log(data);
-            let out = ""
-            deleted.reverse().forEach(message => {
-                out += `${message.author.username}#${message.author.discriminator} (${message.author.id}) [${new Date(message.createdTimestamp).toISOString()}]\n`
-                let lines = message.content.split("\n")
-                lines.forEach(line => {out += `> ${line}\n`})
-                out += `\n\n`
-            })
-            attachmentObject = {
-                attachment: Buffer.from(out),
-                name: `purge-${channel.id}-${Date.now()}.txt`,
-                description: "Purge log"
-            }
-        } catch {}
-        let m = await interaction.editReply({embeds: [new EmojiEmbed()
-            .setEmoji(`CHANNEL.PURGE.GREEN`)
-            .setTitle(`Purge`)
+        };
+        log(data);
+        let out = "";
+        deleted.reverse().forEach(message => {
+            out += `${message.author.username}#${message.author.discriminator} (${message.author.id}) [${new Date(message.createdTimestamp).toISOString()}]\n`;
+            const lines = message.content.split("\n");
+            lines.forEach(line => {out += `> ${line}\n`;});
+            out += "\n\n";
+        });
+        const attachmentObject = {
+            attachment: Buffer.from(out),
+            name: `purge-${channel.id}-${Date.now()}.txt`,
+            description: "Purge log"
+        };
+        const m = await interaction.editReply({embeds: [new EmojiEmbed()
+            .setEmoji("CHANNEL.PURGE.GREEN")
+            .setTitle("Purge")
             .setDescription("Messages cleared")
             .setStatus("Success")
         ], components: [new Discord.MessageActionRow().addComponents([
@@ -177,29 +174,29 @@
                 .setLabel("Download transcript")
                 .setStyle("SUCCESS")
                 .setEmoji(getEmojiByName("CONTROL.DOWNLOAD", "id"))
-        ])]})
+        ])]});
         let component;
         try {
             component = await (m as Discord.Message).awaitMessageComponent({filter: (m) => m.user.id === interaction.user.id, time: 300000});
-        } catch {}
+        } catch { return; }
         if (component && component.customId === "download") {
             interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("CHANNEL.PURGE.GREEN")
-                .setTitle(`Purge`)
+                .setTitle("Purge")
                 .setDescription("Uploaded")
                 .setStatus("Success")
-            ], components: [], files: [attachmentObject]})
+            ], components: [], files: [attachmentObject]});
         } else {
             interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("CHANNEL.PURGE.GREEN")
-                .setTitle(`Purge`)
+                .setTitle("Purge")
                 .setDescription("Messages cleared")
                 .setStatus("Success")
-            ], components: []})
+            ], components: []});
         }
-        return
+        return;
     } else {
-        let confirmation = await new confirmationMessage(interaction)
+        const confirmation = await new confirmationMessage(interaction)
             .setEmoji("CHANNEL.PURGE.RED")
             .setTitle("Purge")
             .setDescription(keyValueList({
@@ -208,69 +205,66 @@
                 "reason": `\n> ${interaction.options.getString("reason") ? interaction.options.getString("reason") : "*No reason provided*"}`
             }))
             .setColor("Danger")
-        .send()
-        if (confirmation.cancelled) return
+            .send();
+        if (confirmation.cancelled) return;
         if (confirmation.success) {
             let messages;
             try {
                 if (!user) {
-                    let toDelete = await (interaction.channel as TextChannel).messages.fetch({limit: interaction.options.getInteger("amount")})
+                    const toDelete = await (interaction.channel as TextChannel).messages.fetch({limit: interaction.options.getInteger("amount")});
                     messages = await (channel as TextChannel).bulkDelete(toDelete, true);
                 } else {
-                    let toDelete = (await (await (interaction.channel as TextChannel).messages.fetch({limit: 100}))
-                        .filter(m => m.author.id === user.id)).first(interaction.options.getInteger("amount"))
+                    const toDelete = (await (await (interaction.channel as TextChannel).messages.fetch({limit: 100}))
+                        .filter(m => m.author.id === user.id)).first(interaction.options.getInteger("amount"));
                     messages = await (channel as TextChannel).bulkDelete(toDelete, true);
                 }
             } catch(e) {
                 await interaction.editReply({embeds: [new EmojiEmbed()
                     .setEmoji("CHANNEL.PURGE.RED")
-                    .setTitle(`Purge`)
+                    .setTitle("Purge")
                     .setDescription("Something went wrong and no messages were deleted")
                     .setStatus("Danger")
-                ], components: []})
+                ], components: []});
             }
             if (user) {
-                try { await client.database.history.create("purge", interaction.guild.id, user, interaction.options.getString("reason"), null, null, messages.size) } catch {}
+                await client.database.history.create("purge", interaction.guild.id, user, interaction.options.getString("reason"), null, null, messages.size);
             }
-            let attachmentObject;
-            try {
-                const { log, NucleusColors, entry, renderUser, renderChannel } = client.logger
-                let data = {
-                    meta: {
-                        type: 'channelPurge',
-                        displayName: 'Channel Purged',
-                        calculateType: 'messageDelete',
-                        color: NucleusColors.red,
-                        emoji: "PUNISH.BAN.RED",
-                        timestamp: new Date().getTime()
-                    },
-                    list: {
-                        memberId: entry(interaction.user.id, `\`${interaction.user.id}\``),
-                        purgedBy: entry(interaction.user.id, renderUser(interaction.user)),
-                        channel: entry(interaction.channel.id, renderChannel(interaction.channel)),
-                        messagesCleared: entry(messages.size, messages.size),
-                    },
-                    hidden: {
-                        guild: interaction.guild.id
-                    }
+            const { log, NucleusColors, entry, renderUser, renderChannel } = client.logger;
+            const data = {
+                meta: {
+                    type: "channelPurge",
+                    displayName: "Channel Purged",
+                    calculateType: "messageDelete",
+                    color: NucleusColors.red,
+                    emoji: "PUNISH.BAN.RED",
+                    timestamp: new Date().getTime()
+                },
+                list: {
+                    memberId: entry(interaction.user.id, `\`${interaction.user.id}\``),
+                    purgedBy: entry(interaction.user.id, renderUser(interaction.user)),
+                    channel: entry(interaction.channel.id, renderChannel(interaction.channel)),
+                    messagesCleared: entry(messages.size, messages.size)
+                },
+                hidden: {
+                    guild: interaction.guild.id
                 }
-                log(data);
-                let out = ""
-                messages.reverse().forEach(message => {
-                    out += `${message.author.username}#${message.author.discriminator} (${message.author.id}) [${new Date(message.createdTimestamp).toISOString()}]\n`
-                    let lines = message.content.split("\n")
-                    lines.forEach(line => {out += `> ${line}\n`})
-                    out += `\n\n`
-                })
-                attachmentObject = {
-                    attachment: Buffer.from(out),
-                    name: `purge-${channel.id}-${Date.now()}.txt`,
-                    description: `Purge log`
-                }
-            } catch {}
-            let m = await interaction.editReply({embeds: [new EmojiEmbed()
-                .setEmoji(`CHANNEL.PURGE.GREEN`)
-                .setTitle(`Purge`)
+            };
+            log(data);
+            let out = "";
+            messages.reverse().forEach(message => {
+                out += `${message.author.username}#${message.author.discriminator} (${message.author.id}) [${new Date(message.createdTimestamp).toISOString()}]\n`;
+                const lines = message.content.split("\n");
+                lines.forEach(line => {out += `> ${line}\n`;});
+                out += "\n\n";
+            });
+            const attachmentObject = {
+                attachment: Buffer.from(out),
+                name: `purge-${channel.id}-${Date.now()}.txt`,
+                description: "Purge log"
+            };
+            const m = await interaction.editReply({embeds: [new EmojiEmbed()
+                .setEmoji("CHANNEL.PURGE.GREEN")
+                .setTitle("Purge")
                 .setDescription("Messages cleared")
                 .setStatus("Success")
             ], components: [new Discord.MessageActionRow().addComponents([
@@ -279,48 +273,48 @@
                     .setLabel("Download transcript")
                     .setStyle("SUCCESS")
                     .setEmoji(getEmojiByName("CONTROL.DOWNLOAD", "id"))
-            ])]})
+            ])]});
             let component;
             try {
                 component = await (m as Discord.Message).awaitMessageComponent({filter: (m) => m.user.id === interaction.user.id, time: 300000});
-            } catch {}
+            } catch { return; }
             if (component && component.customId === "download") {
                 interaction.editReply({embeds: [new EmojiEmbed()
                     .setEmoji("CHANNEL.PURGE.GREEN")
-                    .setTitle(`Purge`)
+                    .setTitle("Purge")
                     .setDescription("Transcript uploaded above")
                     .setStatus("Success")
-                ], components: [], files: [attachmentObject]})
+                ], components: [], files: [attachmentObject]});
             } else {
                 interaction.editReply({embeds: [new EmojiEmbed()
                     .setEmoji("CHANNEL.PURGE.GREEN")
-                    .setTitle(`Purge`)
+                    .setTitle("Purge")
                     .setDescription("Messages cleared")
                     .setStatus("Success")
-                ], components: []})
+                ], components: []});
             }
         } else {
             await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("CHANNEL.PURGE.GREEN")
-                .setTitle(`Purge`)
+                .setTitle("Purge")
                 .setDescription("No changes were made")
                 .setStatus("Success")
-            ], components: []})
+            ], components: []});
         }
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
-    let me = (interaction.guild.me as GuildMember)
+    const member = (interaction.member as GuildMember);
+    const me = (interaction.guild.me as GuildMember);
     // Check if nucleus has the manage_messages permission
     if (! me.permissions.has("MANAGE_MESSAGES")) throw "I do not have the *Manage Messages* permission";
     // Allow the owner to purge
-    if (member.id === interaction.guild.ownerId) return true
+    if (member.id === interaction.guild.ownerId) return true;
     // Check if the user has manage_messages permission
     if (! member.permissions.has("MANAGE_MESSAGES")) throw "You do not have the *Manage Messages* permission";
     // Allow purge
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/slowmode.ts b/src/commands/mod/slowmode.ts
index 6b33e12..951dc53 100644
--- a/src/commands/mod/slowmode.ts
+++ b/src/commands/mod/slowmode.ts
@@ -1,4 +1,4 @@
-import humanizeDuration from 'humanize-duration';
+import humanizeDuration from "humanize-duration";
 import { CommandInteraction, GuildMember, TextChannel } from "discord.js";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import { WrappedCheck } from "jshaiku";
@@ -9,64 +9,64 @@
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("slowmode")
-    .setDescription("Manages slowmode in a channel")
-    .addStringOption(option => option.setName("time").setDescription("The delay between messages").setRequired(false).addChoices([
-        ["Off", "0"],
-        ["5 seconds", "5"], ["10 seconds", "10"], ["15 seconds", "15"], ["30 seconds", "30"],
-        ["1 minute", "60"], ["2 minutes", "120"], ["5 minutes", "300"], ["10 minutes", "600"],
-        ["15 minutes", "900"], ["30 minutes", "1800"],
-        ["1 hour", "3600"], ["2 hours", "7200"], ["6 hours", "21600"]
-    ]))
+        .setName("slowmode")
+        .setDescription("Manages slowmode in a channel")
+        .addStringOption(option => option.setName("time").setDescription("The delay between messages").setRequired(false).addChoices([
+            ["Off", "0"],
+            ["5 seconds", "5"], ["10 seconds", "10"], ["15 seconds", "15"], ["30 seconds", "30"],
+            ["1 minute", "60"], ["2 minutes", "120"], ["5 minutes", "300"], ["10 minutes", "600"],
+            ["15 minutes", "900"], ["30 minutes", "1800"],
+            ["1 hour", "3600"], ["2 hours", "7200"], ["6 hours", "21600"]
+        ]));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
     let time = parseInt(interaction.options.getString("time") ?? "0");
-    if (time === 0 && (interaction.channel as TextChannel).rateLimitPerUser === 0) { time = 10 }
-    let confirmation = await new confirmationMessage(interaction)
+    if (time === 0 && (interaction.channel as TextChannel).rateLimitPerUser === 0) { time = 10; }
+    const confirmation = await new confirmationMessage(interaction)
         .setEmoji("CHANNEL.SLOWMODE.OFF")
         .setTitle("Slowmode")
         .setDescription(keyValueList({
-            "time": time ? humanizeDuration(time * 1000, { round: true }) : "No delay",
+            "time": time ? humanizeDuration(time * 1000, { round: true }) : "No delay"
         })
-        + `Are you sure you want to set the slowmode in this channel?`)
+        + "Are you sure you want to set the slowmode in this channel?")
         .setColor("Danger")
-    .send()
-    if (confirmation.cancelled) return
+        .send();
+    if (confirmation.cancelled) return;
     if (confirmation.success) {
         try {
-            (interaction.channel as TextChannel).setRateLimitPerUser(time)
+            (interaction.channel as TextChannel).setRateLimitPerUser(time);
         } catch (e) {
             await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("CHANNEL.SLOWMODE.OFF")
-                .setTitle(`Slowmode`)
+                .setTitle("Slowmode")
                 .setDescription("Something went wrong while setting the slowmode")
                 .setStatus("Danger")
-            ], components: []})
+            ], components: []});
         }
         await interaction.editReply({embeds: [new EmojiEmbed()
-            .setEmoji(`CHANNEL.SLOWMODE.ON`)
-            .setTitle(`Slowmode`)
+            .setEmoji("CHANNEL.SLOWMODE.ON")
+            .setTitle("Slowmode")
             .setDescription("The channel slowmode was set successfully")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     } else {
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("CHANNEL.SLOWMODE.ON")
-            .setTitle(`Slowmode`)
+            .setTitle("Slowmode")
             .setDescription("No changes were made")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
+    const member = (interaction.member as GuildMember);
     // Check if Nucleus can set the slowmode
     if (! interaction.guild.me.permissions.has("MANAGE_CHANNELS")) throw "I do not have the *Manage Channels* permission";
     // Check if the user has manage_channel permission
     if (! member.permissions.has("MANAGE_CHANNELS")) throw "You do not have the *Manage Channels* permission";
     // Allow slowmode
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/softban.ts b/src/commands/mod/softban.ts
index 43d03fd..88ba531 100644
--- a/src/commands/mod/softban.ts
+++ b/src/commands/mod/softban.ts
@@ -9,43 +9,43 @@
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("softban")
-    .setDescription("Kicks a user and deletes their messages")
-    .addUserOption(option => option.setName("user").setDescription("The user to softban").setRequired(true))
-    .addIntegerOption(option => option.setName("delete").setDescription("The days of messages to delete | Default: 0").setMinValue(0).setMaxValue(7).setRequired(false))
+        .setName("softban")
+        .setDescription("Kicks a user and deletes their messages")
+        .addUserOption(option => option.setName("user").setDescription("The user to softban").setRequired(true))
+        .addIntegerOption(option => option.setName("delete").setDescription("The days of messages to delete | Default: 0").setMinValue(0).setMaxValue(7).setRequired(false));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
-    const { renderUser } = client.logger
+    const { renderUser } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let reason = null;
     let notify = true;
     let confirmation;
     while (true) {
-        let confirmation = await new confirmationMessage(interaction)
+        const confirmation = await new confirmationMessage(interaction)
             .setEmoji("PUNISH.BAN.RED")
             .setTitle("Softban")
             .setDescription(keyValueList({
                 "user": renderUser(interaction.options.getUser("user")),
                 "reason": reason ? ("\n> " + ((reason ?? "").replaceAll("\n", "\n> "))) : "*No reason provided*"
             })
-            + `The user **will${notify ? '' : ' not'}** be notified\n`
+            + `The user **will${notify ? "" : " not"}** be notified\n`
             + `${addPlural(interaction.options.getInteger("delete") ? interaction.options.getInteger("delete") : 0, "day")} of messages will be deleted\n\n`
             + `Are you sure you want to softban <@!${(interaction.options.getMember("user") as GuildMember).id}>?`)
             .setColor("Danger")
             .addCustomBoolean("notify", "Notify user", false, null, null, "ICONS.NOTIFY." + (notify ? "ON" : "OFF" ), notify)
             .addReasonButton(reason ?? "")
-        .send(reason !== null)
-        reason = reason ?? ""
-        if (confirmation.cancelled) return
-        if (confirmation.success) break
-        if (confirmation.newReason) reason = confirmation.newReason
+            .send(reason !== null);
+        reason = reason ?? "";
+        if (confirmation.cancelled) return;
+        if (confirmation.success) break;
+        if (confirmation.newReason) reason = confirmation.newReason;
         if (confirmation.components) {
-            notify = confirmation.components.notify.active
+            notify = confirmation.components.notify.active;
         }
     }
     if (confirmation.success) {
         let dmd = false;
-        let config = await client.database.guilds.read(interaction.guild.id);
+        const config = await client.database.guilds.read(interaction.guild.id);
         try {
             if (notify) {
                 await (interaction.options.getMember("user") as GuildMember).send({
@@ -61,11 +61,11 @@
                         .setLabel(config.moderation.ban.text)
                         .setURL(config.moderation.ban.link)
                     ] : [])]
-                })
-                dmd = true
+                });
+                dmd = true;
             }
-        } catch {}
-        let member = (interaction.options.getMember("user") as GuildMember)
+        } catch { dmd = false;}
+        const member = (interaction.options.getMember("user") as GuildMember);
         try {
             await member.ban({
                 days: Number(interaction.options.getInteger("delete") ?? 0),
@@ -75,53 +75,53 @@
         } catch {
             await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("PUNISH.BAN.RED")
-                .setTitle(`Softban`)
+                .setTitle("Softban")
                 .setDescription("Something went wrong and the user was not softbanned")
                 .setStatus("Danger")
-            ], components: []})
+            ], components: []});
         }
-        try { await client.database.history.create("softban", interaction.guild.id, member.user, reason) } catch {}
-        let failed = (dmd === false && notify)
+        await client.database.history.create("softban", interaction.guild.id, member.user, reason);
+        const failed = (dmd === false && notify);
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji(`PUNISH.BAN.${failed ? "YELLOW" : "GREEN"}`)
-            .setTitle(`Softban`)
+            .setTitle("Softban")
             .setDescription("The member was softbanned" + (failed ? ", but could not be notified" : ""))
             .setStatus(failed ? "Warning" : "Success")
-        ], components: []})
+        ], components: []});
     } else {
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("PUNISH.BAN.GREEN")
-            .setTitle(`Softban`)
+            .setTitle("Softban")
             .setDescription("No changes were made")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
-    let me = (interaction.guild.me as GuildMember)
-    let apply = (interaction.options.getMember("user") as GuildMember)
-    if (member === null || me === null || apply === null) throw "That member is not in the server"
-    let memberPos = member.roles ? member.roles.highest.position : 0
-    let mePos = me.roles ? me.roles.highest.position : 0
-    let applyPos = apply.roles ? apply.roles.highest.position : 0
+    const member = (interaction.member as GuildMember);
+    const me = (interaction.guild.me as GuildMember);
+    const apply = (interaction.options.getMember("user") as GuildMember);
+    if (member === null || me === null || apply === null) throw "That member is not in the server";
+    const memberPos = member.roles ? member.roles.highest.position : 0;
+    const mePos = me.roles ? me.roles.highest.position : 0;
+    const applyPos = apply.roles ? apply.roles.highest.position : 0;
     // Do not allow softbanning the owner
-    if (member.id === interaction.guild.ownerId) throw "You cannot softban the owner of the server"
+    if (member.id === interaction.guild.ownerId) throw "You cannot softban the owner of the server";
     // Check if Nucleus can ban the member
-    if (! (mePos > applyPos)) throw "I do not have a role higher than that member"
+    if (! (mePos > applyPos)) throw "I do not have a role higher than that member";
     // Check if Nucleus has permission to ban
     if (!me.permissions.has("BAN_MEMBERS")) throw "I do not have the *Ban Members* permission";
     // Do not allow softbanning Nucleus
-    if (member.id === me.id) throw "I cannot softban myself"
+    if (member.id === me.id) throw "I cannot softban myself";
     // Allow the owner to softban anyone
-    if (member.id === interaction.guild.ownerId) return true
+    if (member.id === interaction.guild.ownerId) return true;
     // Check if the user has ban_members permission
     if (! member.permissions.has("BAN_MEMBERS")) throw "You do not have the *Ban Members* permission";
     // Check if the user is below on the role list
-    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member"
+    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member";
     // Allow softban
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/unban.ts b/src/commands/mod/unban.ts
index 2605d28..faf1f08 100644
--- a/src/commands/mod/unban.ts
+++ b/src/commands/mod/unban.ts
@@ -8,46 +8,46 @@
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("unban")
-    .setDescription("Unbans a user")
-    .addStringOption(option => option.setName("user").setDescription("The user to unban (Username or ID)").setRequired(true))
+        .setName("unban")
+        .setDescription("Unbans a user")
+        .addStringOption(option => option.setName("user").setDescription("The user to unban (Username or ID)").setRequired(true));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
-    let bans = await interaction.guild.bans.fetch()
-    let user = interaction.options.getString("user")
-    let resolved = bans.find(ban => ban.user.id === user)
-    if (!resolved) resolved = bans.find(ban => ban.user.username.toLowerCase() === user.toLowerCase())
-    if (!resolved) resolved = bans.find(ban => ban.user.tag.toLowerCase() === user.toLowerCase())
+    const bans = await interaction.guild.bans.fetch();
+    const user = interaction.options.getString("user");
+    let resolved = bans.find(ban => ban.user.id === user);
+    if (!resolved) resolved = bans.find(ban => ban.user.username.toLowerCase() === user.toLowerCase());
+    if (!resolved) resolved = bans.find(ban => ban.user.tag.toLowerCase() === user.toLowerCase());
     if (!resolved) {
         return interaction.reply({embeds: [new EmojiEmbed()
             .setTitle("Unban")
             .setDescription(`Could not find any user called \`${user}\``)
             .setEmoji("PUNISH.UNBAN.RED")
             .setStatus("Danger")
-        ], ephemeral: true})
+        ], ephemeral: true});
     }
     // TODO:[Modals] Replace this with a modal
-    let confirmation = await new confirmationMessage(interaction)
+    const confirmation = await new confirmationMessage(interaction)
         .setEmoji("PUNISH.UNBAN.RED")
         .setTitle("Unban")
         .setDescription(keyValueList({
-            "user": `${resolved.user.username} [<@${resolved.user.id}>]`,
+            "user": `${resolved.user.username} [<@${resolved.user.id}>]`
         })
         + `Are you sure you want to unban <@${resolved.user.id}>?`)
         .setColor("Danger")
-    .send()
-    if (confirmation.cancelled) return
+        .send();
+    if (confirmation.cancelled) return;
     if (confirmation.success) {
         try {
             await interaction.guild.members.unban(resolved.user as User, "Unban");
-            let member = (resolved.user as User)
-            try { await client.database.history.create("unban", interaction.guild.id, member, interaction.user) } catch {}
-            const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger
-            let data = {
+            const member = (resolved.user as User);
+            await client.database.history.create("unban", interaction.guild.id, member, interaction.user);
+            const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger;
+            const data = {
                 meta: {
-                    type: 'memberUnban',
-                    displayName: 'Member Unbanned',
-                    calculateType: 'guildMemberPunish',
+                    type: "memberUnban",
+                    displayName: "Member Unbanned",
+                    calculateType: "guildMemberPunish",
                     color: NucleusColors.green,
                     emoji: "PUNISH.BAN.GREEN",
                     timestamp: new Date().getTime()
@@ -57,48 +57,48 @@
                     name: entry(member.id, renderUser(member)),
                     unbanned: entry(new Date().getTime(), renderDelta(new Date().getTime())),
                     unbannedBy: entry(interaction.user.id, renderUser(interaction.user)),
-                    accountCreated: entry(member.createdAt, renderDelta(member.createdAt)),
+                    accountCreated: entry(member.createdAt, renderDelta(member.createdAt))
                 },
                 hidden: {
                     guild: interaction.guild.id
                 }
-            }
+            };
             log(data);
         } catch {
             await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("PUNISH.UNBAN.RED")
-                .setTitle(`Unban`)
+                .setTitle("Unban")
                 .setDescription("Something went wrong and the user was not unbanned")
                 .setStatus("Danger")
-            ], components: []})
+            ], components: []});
         }
         await interaction.editReply({embeds: [new EmojiEmbed()
-            .setEmoji(`PUNISH.UNBAN.GREEN`)
-            .setTitle(`Unban`)
+            .setEmoji("PUNISH.UNBAN.GREEN")
+            .setTitle("Unban")
             .setDescription("The member was unbanned")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     } else {
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("PUNISH.UNBAN.GREEN")
-            .setTitle(`Unban`)
+            .setTitle("Unban")
             .setDescription("No changes were made")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
-    let me = (interaction.guild.me as GuildMember)
+    const member = (interaction.member as GuildMember);
+    const me = (interaction.guild.me as GuildMember);
     // Check if Nucleus can unban members
     if (! me.permissions.has("BAN_MEMBERS")) throw "I do not have the *Ban Members* permission";
     // Allow the owner to unban anyone
-    if (member.id === interaction.guild.ownerId) return true
+    if (member.id === interaction.guild.ownerId) return true;
     // Check if the user has ban_members permission
     if (! member.permissions.has("BAN_MEMBERS")) throw "You do not have the *Ban Members* permission";
     // Allow unban
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/unmute.ts b/src/commands/mod/unmute.ts
index 6451837..e00c16d 100644
--- a/src/commands/mod/unmute.ts
+++ b/src/commands/mod/unmute.ts
@@ -8,12 +8,12 @@
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("unmute")
-    .setDescription("Unmutes a user")
-    .addUserOption(option => option.setName("user").setDescription("The user to unmute").setRequired(true))
+        .setName("unmute")
+        .setDescription("Unmutes a user")
+        .addUserOption(option => option.setName("user").setDescription("The user to unmute").setRequired(true));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
-    const { log, NucleusColors, renderUser, entry, renderDelta } = client.logger
+    const { log, NucleusColors, renderUser, entry, renderDelta } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let reason = null;
     let notify = false;
@@ -26,20 +26,20 @@
                 "user": renderUser(interaction.options.getUser("user")),
                 "reason": `\n> ${reason ? reason : "*No reason provided*"}`
             })
-            + `The user **will${notify ? '' : ' not'}** be notified\n\n`
+            + `The user **will${notify ? "" : " not"}** be notified\n\n`
             + `Are you sure you want to unmute <@!${(interaction.options.getMember("user") as GuildMember).id}>?`)
             .setColor("Danger")
             .addReasonButton(reason ?? "")
-        .send(reason !== null)
-        if (confirmation.success) break
-        if (confirmation.newReason) reason = confirmation.newReason
+            .send(reason !== null);
+        if (confirmation.success) break;
+        if (confirmation.newReason) reason = confirmation.newReason;
         if (confirmation.components) {
-            notify = confirmation.components.notify.active
+            notify = confirmation.components.notify.active;
         }
     }
-    if (confirmation.cancelled) return
+    if (confirmation.cancelled) return;
     if (confirmation.success) {
-        let dmd = false
+        let dmd = false;
         let dm;
         try {
             if (notify) {
@@ -51,29 +51,29 @@
                                     (reason ? ` for:\n> ${reason}` : " with no reason provided."))
                         .setStatus("Success")
                     ]
-                })
-                dmd = true
+                });
+                dmd = true;
             }
-        } catch {}
-        let member = (interaction.options.getMember("user") as GuildMember)
+        } catch { dmd = false; }
+        const member = (interaction.options.getMember("user") as GuildMember);
         try {
-            member.timeout(0, reason || "No reason provided")
+            member.timeout(0, reason || "No reason provided");
         } catch {
             await interaction.editReply({embeds: [new EmojiEmbed()
                 .setEmoji("PUNISH.MUTE.RED")
-                .setTitle(`Unmute`)
+                .setTitle("Unmute")
                 .setDescription("Something went wrong and the user was not unmuted")
                 .setStatus("Danger")
-            ], components: []})
-            if (dmd) await dm.delete()
-            return
+            ], components: []});
+            if (dmd) await dm.delete();
+            return;
         }
-        try { await client.database.history.create("unmute", interaction.guild.id, (interaction.options.getMember("user") as GuildMember).user, interaction.user, reason) } catch {}
-        let data = {
+        await client.database.history.create("unmute", interaction.guild.id, (interaction.options.getMember("user") as GuildMember).user, interaction.user, reason);
+        const data = {
             meta: {
-                type: 'memberUnmute',
-                displayName: 'Unmuted',
-                calculateType: 'guildMemberPunish',
+                type: "memberUnmute",
+                displayName: "Unmuted",
+                calculateType: "guildMemberPunish",
                 color: NucleusColors.green,
                 emoji: "PUNISH.MUTE.GREEN",
                 timestamp: new Date().getTime()
@@ -82,52 +82,52 @@
                 memberId: entry(member.user.id, `\`${member.user.id}\``),
                 name: entry(member.user.id, renderUser(member.user)),
                 unmuted: entry(new Date().getTime(), renderDelta(new Date().getTime())),
-                unmutedBy: entry(interaction.user.id, renderUser(interaction.user)),
+                unmutedBy: entry(interaction.user.id, renderUser(interaction.user))
             },
             hidden: {
                 guild: interaction.guild.id
             }
-        }
+        };
         log(data);
-        let failed = (dmd === false && notify)
+        const failed = (dmd === false && notify);
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji(`PUNISH.MUTE.${failed ? "YELLOW" : "GREEN"}`)
-            .setTitle(`Unmute`)
+            .setTitle("Unmute")
             .setDescription("The member was unmuted" + (failed ? ", but could not be notified" : ""))
             .setStatus(failed ? "Warning" : "Success")
-        ], components: []})
+        ], components: []});
     } else {
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("PUNISH.MUTE.GREEN")
-            .setTitle(`Unmute`)
+            .setTitle("Unmute")
             .setDescription("No changes were made")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
-    let me = (interaction.guild.me as GuildMember)
-    let apply = (interaction.options.getMember("user") as GuildMember)
-    if (member === null || me === null || apply === null) throw "That member is not in the server"
-    let memberPos = member.roles ? member.roles.highest.position : 0
-    let mePos = me.roles ? me.roles.highest.position : 0
-    let applyPos = apply.roles ? apply.roles.highest.position : 0
+    const member = (interaction.member as GuildMember);
+    const me = (interaction.guild.me as GuildMember);
+    const apply = (interaction.options.getMember("user") as GuildMember);
+    if (member === null || me === null || apply === null) throw "That member is not in the server";
+    const memberPos = member.roles ? member.roles.highest.position : 0;
+    const mePos = me.roles ? me.roles.highest.position : 0;
+    const applyPos = apply.roles ? apply.roles.highest.position : 0;
     // Do not allow unmuting the owner
-    if (member.id === interaction.guild.ownerId) throw "You cannot unmute the owner of the server"
+    if (member.id === interaction.guild.ownerId) throw "You cannot unmute the owner of the server";
     // Check if Nucleus can unmute the member
-    if (! (mePos > applyPos)) throw "I do not have a role higher than that member"
+    if (! (mePos > applyPos)) throw "I do not have a role higher than that member";
     // Check if Nucleus has permission to unmute
     if (! me.permissions.has("MODERATE_MEMBERS")) throw "I do not have the *Moderate Members* permission";
     // Allow the owner to unmute anyone
-    if (member.id === interaction.guild.ownerId) return true
+    if (member.id === interaction.guild.ownerId) return true;
     // Check if the user has moderate_members permission
     if (! member.permissions.has("MODERATE_MEMBERS")) throw "You do not have the *Moderate Members* permission";
     // Check if the user is below on the role list
-    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member"
+    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member";
     // Allow unmute
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/viewas.ts b/src/commands/mod/viewas.ts
index 2f5cacc..a5bf5ea 100644
--- a/src/commands/mod/viewas.ts
+++ b/src/commands/mod/viewas.ts
@@ -7,40 +7,40 @@
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("viewas")
-    .setDescription("View the server as a specific member")
-    .addUserOption(option => option.setName("member").setDescription("The member to view as").setRequired(true))
+        .setName("viewas")
+        .setDescription("View the server as a specific member")
+        .addUserOption(option => option.setName("member").setDescription("The member to view as").setRequired(true));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
     let channels = [];
     let m;
     interaction.guild.channels.cache.forEach(channel => {
-        if (!channel.parent && channel.type !== "GUILD_CATEGORY") channels.push(channel)
-    })
-    channels = [channels]
+        if (!channel.parent && channel.type !== "GUILD_CATEGORY") channels.push(channel);
+    });
+    channels = [channels];
     channels = channels.concat(interaction.guild.channels.cache
         .filter(c => c.type === "GUILD_CATEGORY")
         .map(c => (c as CategoryChannel).children.map(c => c))
-    )
-    let autoSortBelow = ["GUILD_VOICE", "GUILD_STAGE_VOICE"]
+    );
+    const autoSortBelow = ["GUILD_VOICE", "GUILD_STAGE_VOICE"];
     channels = channels.map(c => c.sort((a, b) => {
-        if (autoSortBelow.includes(a.type) && autoSortBelow.includes(b.type)) return a.position - b.position
-        if (autoSortBelow.includes(a.type)) return 1
-        if (autoSortBelow.includes(b.type)) return -1
-        return a.position - b.position
-    }))
+        if (autoSortBelow.includes(a.type) && autoSortBelow.includes(b.type)) return a.position - b.position;
+        if (autoSortBelow.includes(a.type)) return 1;
+        if (autoSortBelow.includes(b.type)) return -1;
+        return a.position - b.position;
+    }));
     // Sort all arrays by the position of the first channels parent position
     channels = channels.sort((a, b) => {
-        if (!a[0].parent) return -1
-        if (!b[0].parent) return 1
-        return a[0].parent.position - b[0].parent.position
-    })
-    let member = interaction.options.getMember("member") as Discord.GuildMember
+        if (!a[0].parent) return -1;
+        if (!b[0].parent) return 1;
+        return a[0].parent.position - b[0].parent.position;
+    });
+    const member = interaction.options.getMember("member") as Discord.GuildMember;
     m = await interaction.reply({embeds: [new EmojiEmbed()
         .setEmoji("MEMBER.JOIN")
         .setTitle("Viewing as " + member.displayName)
         .setStatus("Success")
-    ], ephemeral: true, fetchReply: true})
+    ], ephemeral: true, fetchReply: true});
     let page = 0;
     while (true) {
         m = await interaction.editReply({embeds: [new EmojiEmbed()
@@ -50,17 +50,17 @@
             .setDescription(
                 `**${channels[page][0].parent ? channels[page][0].parent.name  : "Uncategorised"}**` + "\n" +
                 channels[page].map(c => {
-                    let channelType = c.type
-                    if (interaction.guild.rulesChannelId === c.id) channelType = "RULES"
-                    else if ("nsfw" in c && c.nsfw) channelType += "_NSFW"
+                    let channelType = c.type;
+                    if (interaction.guild.rulesChannelId === c.id) channelType = "RULES";
+                    else if ("nsfw" in c && c.nsfw) channelType += "_NSFW";
                     return c.permissionsFor(member).has("VIEW_CHANNEL") ? (
                         `${getEmojiByName("ICONS.CHANNEL." + channelType)} ${c.name}\n` + (() => {
                             if ("threads" in c && c.threads.cache.size > 0) {
                                 return c.threads.cache.map(t => ` ${
                                     getEmojiByName("ICONS.CHANNEL.THREAD_PIPE") + " " +
-                                    getEmojiByName("ICONS.CHANNEL.THREAD_CHANNEL")} ${t.name}`).join("\n") + "\n"
-                            }return ""
-                        })()) : ""
+                                    getEmojiByName("ICONS.CHANNEL.THREAD_CHANNEL")} ${t.name}`).join("\n") + "\n";
+                            }return "";
+                        })()) : "";
                 }).join("") + "\n" + pageIndicator(channels.length, page)
             )
         ], components: [
@@ -83,23 +83,23 @@
                     .setStyle("PRIMARY")
                     .setCustomId("next")
             ])
-        ]})
+        ]});
         let i;
         try {
             i = await m.awaitMessageComponent({ time: 300000 });
-        } catch (e) { return }
-        i.deferUpdate()
+        } catch (e) { return; }
+        i.deferUpdate();
         if (i.customId === "next") { page++; }
         else if (i.customId === "previous") { page--; }
         else if (i.customId === "select") { page = parseInt(i.values[0]); }
     }
-}
+};
 
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
+    const member = (interaction.member as GuildMember);
     if (! member.permissions.has("MANAGE_ROLES")) throw "You do not have the *Manage Roles* permission";
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file
diff --git a/src/commands/mod/warn.ts b/src/commands/mod/warn.ts
index b007b29..0648f66 100644
--- a/src/commands/mod/warn.ts
+++ b/src/commands/mod/warn.ts
@@ -5,16 +5,16 @@
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
 import keyValueList from "../../utils/generateKeyValueList.js";
 import { create, areTicketsEnabled } from "../../actions/createModActionTicket.js";
-import client from "../../utils/client.js"
+import client from "../../utils/client.js";
 
 const command = (builder: SlashCommandSubcommandBuilder) =>
     builder
-    .setName("warn")
-    .setDescription("Warns a user")
-    .addUserOption(option => option.setName("user").setDescription("The user to warn").setRequired(true))
+        .setName("warn")
+        .setDescription("Warns a user")
+        .addUserOption(option => option.setName("user").setDescription("The user to warn").setRequired(true));
 
 const callback = async (interaction: CommandInteraction): Promise<any> => {
-    const { log, NucleusColors, renderUser, entry } = client.logger
+    const { log, NucleusColors, renderUser, entry } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let reason = null;
     let notify = true;
@@ -28,7 +28,7 @@
                 "user": renderUser(interaction.options.getUser("user")),
                 "reason": reason ? ("\n> " + ((reason ?? "").replaceAll("\n", "\n> "))) : "*No reason provided*"
             })
-            + `The user **will${notify ? '' : ' not'}** be notified\n\n`
+            + `The user **will${notify ? "" : " not"}** be notified\n\n`
             + `Are you sure you want to warn <@!${(interaction.options.getMember("user") as GuildMember).id}>?`)
             .setColor("Danger")
             .addCustomBoolean(
@@ -37,28 +37,28 @@
                 "An appeal ticket will be created when Confirm is clicked", "CONTROL.TICKET", createAppealTicket)
             .addCustomBoolean("notify", "Notify user", false, null, null, "ICONS.NOTIFY." + (notify ? "ON" : "OFF" ), notify)
             .addReasonButton(reason ?? "")
-        .send(reason !== null)
-        reason = reason ?? ""
-        if (confirmation.cancelled) return
-        if (confirmation.success) break
-        if (confirmation.newReason) reason = confirmation.newReason
+            .send(reason !== null);
+        reason = reason ?? "";
+        if (confirmation.cancelled) return;
+        if (confirmation.success) break;
+        if (confirmation.newReason) reason = confirmation.newReason;
         if (confirmation.components) {
-            notify = confirmation.components.notify.active
-            createAppealTicket = confirmation.components.appeal.active
+            notify = confirmation.components.notify.active;
+            createAppealTicket = confirmation.components.appeal.active;
         }
     }
     if (confirmation.success) {
-        let dmd = false
+        let dmd = false;
         try {
             if (notify) {
-                const config = await client.database.guilds.read(interaction.guild.id)
+                const config = await client.database.guilds.read(interaction.guild.id);
                 await (interaction.options.getMember("user") as GuildMember).send({
                     embeds: [new EmojiEmbed()
                         .setEmoji("PUNISH.WARN.RED")
                         .setTitle("Warned")
                         .setDescription(`You have been warned in ${interaction.guild.name}` +
                                     (reason ? ` for:\n> ${reason}` : ".") + "\n\n" +
-                                    (confirmation.components.appeal.response ? `You can appeal this here ticket: <#${confirmation.components.appeal.response}>` : ``))
+                                    (confirmation.components.appeal.response ? `You can appeal this here ticket: <#${confirmation.components.appeal.response}>` : ""))
                         .setStatus("Danger")
                         .setFooter({
                             text: config.moderation.warn.text ? "The button below is set by the server admins. Do not enter any passwords or other account details on the linked site." : "",
@@ -70,17 +70,17 @@
                         .setLabel(config.moderation.warn.text)
                         .setURL(config.moderation.warn.link)
                     ])] : []
-                })
-                dmd = true
+                });
+                dmd = true;
             }
-        } catch {}
-        let data = {
+        } catch { dmd = false; }
+        const data = {
             meta:{
-                type: 'memberWarn',
-                displayName: 'Member warned',
-                calculateType: 'guildMemberPunish',
+                type: "memberWarn",
+                displayName: "Member warned",
+                calculateType: "guildMemberPunish",
                 color: NucleusColors.yellow,
-                emoji: 'PUNISH.WARN.YELLOW',
+                emoji: "PUNISH.WARN.YELLOW",
                 timestamp: new Date().getTime()
             },
             list: {
@@ -91,27 +91,27 @@
             hidden: {
                 guild: interaction.guild.id
             }
-        }
-        try { await client.database.history.create(
+        };
+        await client.database.history.create(
             "warn", interaction.guild.id,
             (interaction.options.getMember("user") as GuildMember).user,
             interaction.user, reason
-        )} catch {}
+        );
         log(data);
-        let failed = (dmd === false && notify)
+        const failed = (dmd === false && notify);
         if (!failed) {
             await interaction.editReply({embeds: [new EmojiEmbed()
-                .setEmoji(`PUNISH.WARN.GREEN`)
-                .setTitle(`Warn`)
-                .setDescription("The user was warned" + (confirmation.components.appeal.response ? ` and an appeal ticket was opened in <#${confirmation.components.appeal.response}>` : ``))
+                .setEmoji("PUNISH.WARN.GREEN")
+                .setTitle("Warn")
+                .setDescription("The user was warned" + (confirmation.components.appeal.response ? ` and an appeal ticket was opened in <#${confirmation.components.appeal.response}>` : ""))
                 .setStatus("Success")
-            ], components: []})
+            ], components: []});
         } else {
-            let canSeeChannel = (interaction.options.getMember("user") as GuildMember).permissionsIn(interaction.channel as Discord.TextChannel).has("VIEW_CHANNEL")
-            let m = await interaction.editReply({
+            const canSeeChannel = (interaction.options.getMember("user") as GuildMember).permissionsIn(interaction.channel as Discord.TextChannel).has("VIEW_CHANNEL");
+            const m = await interaction.editReply({
                 embeds: [new EmojiEmbed()
-                    .setEmoji(`PUNISH.WARN.RED`)
-                    .setTitle(`Warn`)
+                    .setEmoji("PUNISH.WARN.RED")
+                    .setTitle("Warn")
                     .setDescription("The user's DMs are not open\n\nWhat would you like to do?")
                     .setStatus("Danger")
                 ], components: [
@@ -131,89 +131,89 @@
                             .setStyle(canSeeChannel ? "SECONDARY" : "PRIMARY")
                     ])
                 ]
-            })
+            });
             let component;
             try {
                 component = await (m as Discord.Message).awaitMessageComponent({filter: (m) => m.user.id === interaction.user.id, time: 300000});
             } catch (e) {
                 return await interaction.editReply({embeds: [new EmojiEmbed()
-                    .setEmoji(`PUNISH.WARN.GREEN`)
-                    .setTitle(`Warn`)
+                    .setEmoji("PUNISH.WARN.GREEN")
+                    .setTitle("Warn")
                     .setDescription("No changes were made")
                     .setStatus("Success")
-                ], components: []})
+                ], components: []});
             }
             if ( component.customId === "here" ) {
                 await interaction.channel.send({
                     embeds: [new EmojiEmbed()
-                        .setEmoji(`PUNISH.WARN.RED`)
-                        .setTitle(`Warn`)
-                        .setDescription(`You have been warned` +
+                        .setEmoji("PUNISH.WARN.RED")
+                        .setTitle("Warn")
+                        .setDescription("You have been warned" +
                                     (reason ? ` for:\n> ${reason}` : "."))
                         .setStatus("Danger")
                     ],
                     content: `<@!${(interaction.options.getMember("user") as GuildMember).id}>`,
                     allowedMentions: {users: [(interaction.options.getMember("user") as GuildMember).id]}
-                })
+                });
                 return await interaction.editReply({embeds: [new EmojiEmbed()
-                    .setEmoji(`PUNISH.WARN.GREEN`)
-                    .setTitle(`Warn`)
-                    .setDescription("The user was warned" + (confirmation.response ? ` and an appeal ticket was opened in <#${confirmation.response}>` : ``))
+                    .setEmoji("PUNISH.WARN.GREEN")
+                    .setTitle("Warn")
+                    .setDescription("The user was warned" + (confirmation.response ? ` and an appeal ticket was opened in <#${confirmation.response}>` : ""))
                     .setStatus("Success")
-                ], components: []})
+                ], components: []});
             } else if (component.customId === "log") {
                 await interaction.editReply({embeds: [new EmojiEmbed()
-                    .setEmoji(`PUNISH.WARN.GREEN`)
-                    .setTitle(`Warn`)
+                    .setEmoji("PUNISH.WARN.GREEN")
+                    .setTitle("Warn")
                     .setDescription("The warn was logged")
                     .setStatus("Success")
-                ], components: []})
+                ], components: []});
             } else if (component.customId === "ticket") {
-                let ticketChannel = await create(interaction.guild, interaction.options.getUser("user"), interaction.user, reason, "Warn Notification")
+                const ticketChannel = await create(interaction.guild, interaction.options.getUser("user"), interaction.user, reason, "Warn Notification");
                 if (ticketChannel === null) {
                     return await interaction.editReply({embeds: [new EmojiEmbed()
-                        .setEmoji(`PUNISH.WARN.RED`)
-                        .setTitle(`Warn`)
+                        .setEmoji("PUNISH.WARN.RED")
+                        .setTitle("Warn")
                         .setDescription("A ticket could not be created")
                         .setStatus("Danger")
-                    ], components: []})
+                    ], components: []});
                 }
                 await interaction.editReply({embeds: [new EmojiEmbed()
-                    .setEmoji(`PUNISH.WARN.GREEN`)
-                    .setTitle(`Warn`)
+                    .setEmoji("PUNISH.WARN.GREEN")
+                    .setTitle("Warn")
                     .setDescription(`A ticket was created in <#${ticketChannel}>`)
                     .setStatus("Success")
-                ], components: []})
+                ], components: []});
             }
         }
     } else {
         await interaction.editReply({embeds: [new EmojiEmbed()
             .setEmoji("PUNISH.WARN.GREEN")
-            .setTitle(`Warn`)
+            .setTitle("Warn")
             .setDescription("No changes were made")
             .setStatus("Success")
-        ], components: []})
+        ], components: []});
     }
-}
+};
 
 const check = (interaction: CommandInteraction, defaultCheck: WrappedCheck) => {
-    let member = (interaction.member as GuildMember)
-    let me = (interaction.guild.me as GuildMember)
-    let apply = (interaction.options.getMember("user") as GuildMember)
-    if (member === null || me === null || apply === null) throw "That member is not in the server"
-    let memberPos = member.roles ? member.roles.highest.position : 0
-    let mePos = me.roles ? me.roles.highest.position : 0
-    let applyPos = apply.roles ? apply.roles.highest.position : 0
+    const member = (interaction.member as GuildMember);
+    const me = (interaction.guild.me as GuildMember);
+    const apply = (interaction.options.getMember("user") as GuildMember);
+    if (member === null || me === null || apply === null) throw "That member is not in the server";
+    const memberPos = member.roles ? member.roles.highest.position : 0;
+    const mePos = me.roles ? me.roles.highest.position : 0;
+    const applyPos = apply.roles ? apply.roles.highest.position : 0;
     // Do not allow warning bots
-    if (member.user.bot) throw "I cannot warn bots"
+    if (member.user.bot) throw "I cannot warn bots";
     // Allow the owner to warn anyone
-    if (member.id === interaction.guild.ownerId) return true
+    if (member.id === interaction.guild.ownerId) return true;
     // Check if the user has moderate_members permission
     if (! member.permissions.has("MODERATE_MEMBERS")) throw "You do not have the *Moderate Members* permission";
     // Check if the user is below on the role list
-    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member"
+    if (! (memberPos > applyPos)) throw "You do not have a role higher than that member";
     // Allow warn
-    return true
-}
+    return true;
+};
 
 export { command, callback, check };
\ No newline at end of file