Bug fixes and ~~performance~~ typing improvements
diff --git a/src/commands/mod/ban.ts b/src/commands/mod/ban.ts
index 4560c8b..87bfd28 100644
--- a/src/commands/mod/ban.ts
+++ b/src/commands/mod/ban.ts
@@ -1,9 +1,4 @@
-import {
-    CommandInteraction,
-    GuildMember,
-    MessageActionRow,
-    MessageButton
-} from "discord.js";
+import { CommandInteraction, GuildMember, MessageActionRow, MessageButton } from "discord.js";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import confirmationMessage from "../../utils/confirmationMessage.js";
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
@@ -15,12 +10,7 @@
     builder
         .setName("ban")
         .setDescription("Bans a user from the server")
-        .addUserOption((option) =>
-            option
-                .setName("user")
-                .setDescription("The user to ban")
-                .setRequired(true)
-        )
+        .addUserOption((option) => option.setName("user").setDescription("The user to ban").setRequired(true))
         .addNumberOption((option) =>
             option
                 .setName("delete")
@@ -43,21 +33,14 @@
             .setDescription(
                 keyValueList({
                     user: renderUser(interaction.options.getUser("user")),
-                    reason: reason
-                        ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ")
-                        : "*No reason provided*"
+                    reason: reason ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ") : "*No reason provided*"
                 }) +
                     `The user **will${notify ? "" : " not"}** be notified\n` +
                     `${addPlurals(
-                        interaction.options.getInteger("delete")
-                            ? interaction.options.getInteger("delete")
-                            : 0,
+                        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
-                    }>?`
+                    `Are you sure you want to ban <@!${(interaction.options.getMember("user") as GuildMember).id}>?`
             )
             .setColor("Danger")
             .addReasonButton(reason ?? "")
@@ -66,8 +49,7 @@
         if (confirmation.cancelled) return;
         if (confirmation.success) break;
         if (confirmation.newReason) reason = confirmation.newReason;
-        if (confirmation.components)
-            notify = confirmation.components.notify.active;
+        if (confirmation.components) notify = confirmation.components.notify.active;
     }
     if (confirmation.success) {
         let dmd = false;
@@ -75,9 +57,7 @@
         const config = await client.database.guilds.read(interaction.guild.id);
         try {
             if (notify) {
-                dm = await (
-                    interaction.options.getMember("user") as GuildMember
-                ).send({
+                dm = await (interaction.options.getMember("user") as GuildMember).send({
                     embeds: [
                         new EmojiEmbed()
                             .setEmoji("PUNISH.BAN.RED")
@@ -112,15 +92,8 @@
                 days: Number(interaction.options.getNumber("delete") ?? 0),
                 reason: reason ?? "No reason provided"
             });
-            await client.database.history.create(
-                "ban",
-                interaction.guild.id,
-                member.user,
-                interaction.user,
-                reason
-            );
-            const { log, NucleusColors, entry, renderUser, renderDelta } =
-                client.logger;
+            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",
@@ -133,22 +106,10 @@
                 list: {
                     memberId: entry(member.user.id, `\`${member.user.id}\``),
                     name: entry(member.user.id, renderUser(member.user)),
-                    banned: entry(
-                        new Date().getTime(),
-                        renderDelta(new Date().getTime())
-                    ),
-                    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)
-                    ),
+                    banned: entry(new Date().getTime(), renderDelta(new Date().getTime())),
+                    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
                 },
                 hidden: {
@@ -162,9 +123,7 @@
                     new EmojiEmbed()
                         .setEmoji("PUNISH.BAN.RED")
                         .setTitle("Ban")
-                        .setDescription(
-                            "Something went wrong and the user was not banned"
-                        )
+                        .setDescription("Something went wrong and the user was not banned")
                         .setStatus("Danger")
                 ],
                 components: []
@@ -178,10 +137,7 @@
                 new EmojiEmbed()
                     .setEmoji(`PUNISH.BAN.${failed ? "YELLOW" : "GREEN"}`)
                     .setTitle("Ban")
-                    .setDescription(
-                        "The member was banned" +
-                            (failed ? ", but could not be notified" : "")
-                    )
+                    .setDescription("The member was banned" + (failed ? ", but could not be notified" : ""))
                     .setStatus(failed ? "Warning" : "Success")
             ],
             components: []
@@ -204,30 +160,24 @@
     const member = interaction.member as GuildMember;
     const me = interaction.guild.me!;
     const apply = interaction.options.getMember("user") as GuildMember;
-    if (member === null || me === null || apply === null)
-        throw "That member is not in the server";
+    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";
+    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";
     // Allow the owner to ban anyone
     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";
+    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;
 };
diff --git a/src/commands/mod/info.ts b/src/commands/mod/info.ts
index 9837273..af30989 100644
--- a/src/commands/mod/info.ts
+++ b/src/commands/mod/info.ts
@@ -18,10 +18,7 @@
         .setName("info")
         .setDescription("Shows moderator information about a user")
         .addUserOption((option) =>
-            option
-                .setName("user")
-                .setDescription("The user to get information about")
-                .setRequired(true)
+            option.setName("user").setDescription("The user to get information about").setRequired(true)
         );
 
 const types = {
@@ -39,11 +36,9 @@
 };
 
 function historyToString(history: HistorySchema) {
-    let s = `${getEmojiByName(types[history.type].emoji)} ${
-        history.amount ? history.amount + " " : ""
-    }${types[history.type].text} on <t:${Math.round(
-        history.occurredAt.getTime() / 1000
-    )}:F>`;
+    let s = `${getEmojiByName(types[history.type].emoji)} ${history.amount ? history.amount + " " : ""}${
+        types[history.type].text
+    } on <t:${Math.round(history.occurredAt.getTime() / 1000)}:F>`;
     if (history.moderator) {
         s += ` by <@${history.moderator}>`;
     }
@@ -71,13 +66,8 @@
         return this.content.reduce((acc, cur) => acc + cur.rendered.length, 0);
     };
     generateName = () => {
-        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
-        );
+        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>`);
         }
@@ -109,22 +99,14 @@
     let openFilterPane = false;
     while (true) {
         if (refresh) {
-            history = await client.database.history.read(
-                member.guild.id,
-                member.id,
-                currentYear
-            );
-            history = history
-                .sort((a, b) => b.occurredAt.getTime() - a.occurredAt.getTime())
-                .reverse();
+            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;
                 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;
         }
@@ -132,11 +114,7 @@
         if (history.length > 0) {
             current = new TimelineSection();
             history.forEach((event) => {
-                if (
-                    current.contentLength() + historyToString(event).length >
-                        2000 ||
-                    current.content.length === 5
-                ) {
+                if (current.contentLength() + historyToString(event).length > 2000 || current.content.length === 5) {
                     groups.push(current);
                     current.generateName();
                     current = new TimelineSection();
@@ -162,9 +140,7 @@
                                       label: value.text,
                                       value: key,
                                       default: filteredTypes.includes(key),
-                                      emoji: client.emojis.resolve(
-                                          getEmojiByName(value.emoji, "id")
-                                      )
+                                      emoji: client.emojis.resolve(getEmojiByName(value.emoji, "id"))
                                   }))
                               )
                               .setMinValues(1)
@@ -181,22 +157,13 @@
                     .setLabel((currentYear - 1).toString())
                     .setEmoji(getEmojiByName("CONTROL.LEFT", "id"))
                     .setStyle("SECONDARY"),
-                new MessageButton()
-                    .setCustomId("prevPage")
-                    .setLabel("Previous page")
-                    .setStyle("PRIMARY"),
-                new MessageButton()
-                    .setCustomId("today")
-                    .setLabel("Today")
-                    .setStyle("PRIMARY"),
+                new MessageButton().setCustomId("prevPage").setLabel("Previous page").setStyle("PRIMARY"),
+                new MessageButton().setCustomId("today").setLabel("Today").setStyle("PRIMARY"),
                 new MessageButton()
                     .setCustomId("nextPage")
                     .setLabel("Next page")
                     .setStyle("PRIMARY")
-                    .setDisabled(
-                        pageIndex >= groups.length - 1 &&
-                            currentYear === new Date().getFullYear()
-                    ),
+                    .setDisabled(pageIndex >= groups.length - 1 && currentYear === new Date().getFullYear()),
                 new MessageButton()
                     .setCustomId("nextYear")
                     .setLabel((currentYear + 1).toString())
@@ -220,13 +187,8 @@
         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") +
+            pageIndicator(Math.max(groups.length, 1), groups.length === 0 ? 1 : pageIndex) +
+            (currentYear === new Date().getFullYear() ? monthNames[new Date().getMonth()] : "December") +
             " " +
             currentYear.toString();
         if (groups.length > 0) {
@@ -235,22 +197,13 @@
                 embeds: [
                     new EmojiEmbed()
                         .setEmoji("MEMBER.JOIN")
-                        .setTitle(
-                            "Moderation history for " + member.user.username
-                        )
+                        .setTitle("Moderation history for " + member.user.username)
                         .setDescription(
-                            `**${toRender.name}**\n\n` +
-                                toRender.content
-                                    .map((c) => c.rendered)
-                                    .join("\n") +
-                                end
+                            `**${toRender.name}**\n\n` + toRender.content.map((c) => c.rendered).join("\n") + end
                         )
                         .setStatus("Success")
                         .setFooter({
-                            text:
-                                openFilterPane && filteredTypes.length
-                                    ? "Filters are currently enabled"
-                                    : ""
+                            text: openFilterPane && filteredTypes.length ? "Filters are currently enabled" : ""
                         })
                 ],
                 components: components
@@ -260,18 +213,11 @@
                 embeds: [
                     new EmojiEmbed()
                         .setEmoji("MEMBER.JOIN")
-                        .setTitle(
-                            "Moderation history for " + member.user.username
-                        )
-                        .setDescription(
-                            `**${currentYear}**\n\n*No events*` + "\n\n" + end
-                        )
+                        .setTitle("Moderation history for " + member.user.username)
+                        .setDescription(`**${currentYear}**\n\n*No events*` + "\n\n" + end)
                         .setStatus("Success")
                         .setFooter({
-                            text:
-                                openFilterPane && filteredTypes.length
-                                    ? "Filters are currently enabled"
-                                    : ""
+                            text: openFilterPane && filteredTypes.length ? "Filters are currently enabled" : ""
                         })
                 ],
                 components: components
@@ -285,9 +231,7 @@
                 embeds: [
                     new EmojiEmbed()
                         .setEmoji("MEMBER.JOIN")
-                        .setTitle(
-                            "Moderation history for " + member.user.username
-                        )
+                        .setTitle("Moderation history for " + member.user.username)
                         .setDescription(m.embeds[0].description)
                         .setStatus("Danger")
                         .setFooter({ text: "Message timed out" })
@@ -342,18 +286,11 @@
     }
 }
 
-const callback = async (
-    interaction: CommandInteraction
-): Promise<void | unknown> => {
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
     let m;
     const member = interaction.options.getMember("user") as Discord.GuildMember;
     await interaction.reply({
-        embeds: [
-            new EmojiEmbed()
-                .setEmoji("NUCLEUS.LOADING")
-                .setTitle("Downloading Data")
-                .setStatus("Danger")
-        ],
+        embeds: [new EmojiEmbed().setEmoji("NUCLEUS.LOADING").setTitle("Downloading Data").setStatus("Danger")],
         ephemeral: true,
         fetchReply: true
     });
@@ -415,9 +352,7 @@
                 embeds: [
                     new EmojiEmbed()
                         .setTitle("Mod notes for " + member.user.username)
-                        .setDescription(
-                            "Modal opened. If you can't see it, click back and try again."
-                        )
+                        .setDescription("Modal opened. If you can't see it, click back and try again.")
                         .setStatus("Success")
                         .setEmoji("GUILD.TICKET.OPEN")
                 ],
@@ -443,11 +378,7 @@
             }
             if (out.fields) {
                 const toAdd = out.fields.getTextInputValue("note") || null;
-                await client.database.notes.create(
-                    member.guild.id,
-                    member.id,
-                    toAdd
-                );
+                await client.database.notes.create(member.guild.id, member.id, toAdd);
             } else {
                 continue;
             }
@@ -460,8 +391,7 @@
 
 const check = (interaction: CommandInteraction) => {
     const member = interaction.member as GuildMember;
-    if (!member.permissions.has("MODERATE_MEMBERS"))
-        throw "You do not have the *Moderate Members* permission";
+    if (!member.permissions.has("MODERATE_MEMBERS")) throw "You do not have the *Moderate Members* permission";
     return true;
 };
 
diff --git a/src/commands/mod/kick.ts b/src/commands/mod/kick.ts
index 59c2f81..f10563e 100644
--- a/src/commands/mod/kick.ts
+++ b/src/commands/mod/kick.ts
@@ -1,9 +1,4 @@
-import {
-    CommandInteraction,
-    GuildMember,
-    MessageActionRow,
-    MessageButton
-} from "discord.js";
+import { CommandInteraction, GuildMember, MessageActionRow, MessageButton } from "discord.js";
 import humanizeDuration from "humanize-duration";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import confirmationMessage from "../../utils/confirmationMessage.js";
@@ -15,16 +10,9 @@
     builder
         .setName("kick")
         .setDescription("Kicks a user from the server")
-        .addUserOption((option) =>
-            option
-                .setName("user")
-                .setDescription("The user to kick")
-                .setRequired(true)
-        );
+        .addUserOption((option) => option.setName("user").setDescription("The user to kick").setRequired(true));
 
-const callback = async (
-    interaction: CommandInteraction
-): Promise<void | unknown> => {
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
     const { renderUser } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let reason = null;
@@ -37,15 +25,10 @@
             .setDescription(
                 keyValueList({
                     user: renderUser(interaction.options.getUser("user")),
-                    reason: reason
-                        ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ")
-                        : "*No reason provided*"
+                    reason: reason ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ") : "*No reason provided*"
                 }) +
                     `The user **will${notify ? "" : " not"}** be notified\n\n` +
-                    `Are you sure you want to kick <@!${
-                        (interaction.options.getMember("user") as GuildMember)
-                            .id
-                    }>?`
+                    `Are you sure you want to kick <@!${(interaction.options.getMember("user") as GuildMember).id}>?`
             )
             .setColor("Danger")
             .addReasonButton(reason ?? "")
@@ -64,9 +47,7 @@
         const config = await client.database.guilds.read(interaction.guild.id);
         try {
             if (notify) {
-                dm = await (
-                    interaction.options.getMember("user") as GuildMember
-                ).send({
+                dm = await (interaction.options.getMember("user") as GuildMember).send({
                     embeds: [
                         new EmojiEmbed()
                             .setEmoji("PUNISH.KICK.RED")
@@ -96,19 +77,10 @@
             dmd = false;
         }
         try {
-            (interaction.options.getMember("user") as GuildMember).kick(
-                reason ?? "No reason provided."
-            );
+            (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;
+            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",
@@ -121,35 +93,17 @@
                 list: {
                     memberId: entry(member.id, `\`${member.id}\``),
                     name: entry(member.id, renderUser(member.user)),
-                    joined: entry(
-                        member.joinedAt,
-                        renderDelta(member.joinedAt)
-                    ),
-                    kicked: entry(
-                        new Date().getTime(),
-                        renderDelta(new Date().getTime())
-                    ),
-                    kickedBy: entry(
-                        interaction.user.id,
-                        renderUser(interaction.user)
-                    ),
-                    reason: entry(
-                        reason,
-                        reason ? `\n> ${reason}` : "*No reason provided.*"
-                    ),
+                    joined: entry(member.joinedAt, renderDelta(member.joinedAt)),
+                    kicked: entry(new Date().getTime(), renderDelta(new Date().getTime())),
+                    kickedBy: entry(interaction.user.id, renderUser(interaction.user)),
+                    reason: entry(reason, reason ? `\n> ${reason}` : "*No reason provided.*"),
                     timeInServer: entry(
                         new Date().getTime() - member.joinedTimestamp,
-                        humanizeDuration(
-                            new Date().getTime() - member.joinedTimestamp,
-                            {
-                                round: true
-                            }
-                        )
+                        humanizeDuration(new Date().getTime() - member.joinedTimestamp, {
+                            round: true
+                        })
                     ),
-                    accountCreated: entry(
-                        member.user.createdAt,
-                        renderDelta(member.user.createdAt)
-                    ),
+                    accountCreated: entry(member.user.createdAt, renderDelta(member.user.createdAt)),
                     serverMemberCount: member.guild.memberCount
                 },
                 hidden: {
@@ -163,9 +117,7 @@
                     new EmojiEmbed()
                         .setEmoji("PUNISH.KICK.RED")
                         .setTitle("Kick")
-                        .setDescription(
-                            "Something went wrong and the user was not kicked"
-                        )
+                        .setDescription("Something went wrong and the user was not kicked")
                         .setStatus("Danger")
                 ],
                 components: []
@@ -179,10 +131,7 @@
                 new EmojiEmbed()
                     .setEmoji(`PUNISH.KICK.${failed ? "YELLOW" : "GREEN"}`)
                     .setTitle("Kick")
-                    .setDescription(
-                        "The member was kicked" +
-                            (failed ? ", but could not be notified" : "")
-                    )
+                    .setDescription("The member was kicked" + (failed ? ", but could not be notified" : ""))
                     .setStatus(failed ? "Warning" : "Success")
             ],
             components: []
@@ -205,30 +154,24 @@
     const member = interaction.member as GuildMember;
     const me = interaction.guild.me!;
     const apply = interaction.options.getMember("user") as GuildMember;
-    if (member === null || me === null || apply === null)
-        throw "That member is not in the server";
+    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";
+    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";
     // Allow the owner to kick anyone
     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";
+    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;
 };
diff --git a/src/commands/mod/mute.ts b/src/commands/mod/mute.ts
index b430191..dc44e5a 100644
--- a/src/commands/mod/mute.ts
+++ b/src/commands/mod/mute.ts
@@ -1,11 +1,5 @@
 import { LoadingEmbed } from "./../../utils/defaultEmbeds.js";
-import Discord, {
-    CommandInteraction,
-    GuildMember,
-    Message,
-    MessageActionRow,
-    MessageButton
-} from "discord.js";
+import Discord, { CommandInteraction, GuildMember, Message, MessageActionRow, MessageButton } from "discord.js";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
 import getEmojiByName from "../../utils/getEmojiByName.js";
@@ -13,29 +7,17 @@
 import keyValueList from "../../utils/generateKeyValueList.js";
 import humanizeDuration from "humanize-duration";
 import client from "../../utils/client.js";
-import {
-    areTicketsEnabled,
-    create
-} from "../../actions/createModActionTicket.js";
+import { areTicketsEnabled, create } from "../../actions/createModActionTicket.js";
 
 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)
-        )
+        .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"
-                )
+                .setDescription("The number of days to mute the user for | Default: 0")
                 .setMinValue(0)
                 .setMaxValue(27)
                 .setRequired(false)
@@ -43,9 +25,7 @@
         .addIntegerOption((option) =>
             option
                 .setName("hours")
-                .setDescription(
-                    "The number of hours to mute the user for | Default: 0"
-                )
+                .setDescription("The number of hours to mute the user for | Default: 0")
                 .setMinValue(0)
                 .setMaxValue(23)
                 .setRequired(false)
@@ -53,9 +33,7 @@
         .addIntegerOption((option) =>
             option
                 .setName("minutes")
-                .setDescription(
-                    "The number of minutes to mute the user for | Default: 0"
-                )
+                .setDescription("The number of minutes to mute the user for | Default: 0")
                 .setMinValue(0)
                 .setMaxValue(59)
                 .setRequired(false)
@@ -63,17 +41,14 @@
         .addIntegerOption((option) =>
             option
                 .setName("seconds")
-                .setDescription(
-                    "The number of seconds to mute the user for | Default: 0"
-                )
+                .setDescription("The number of seconds to mute the user for | Default: 0")
                 .setMinValue(0)
                 .setMaxValue(59)
                 .setRequired(false)
         );
 
 const callback = async (interaction: CommandInteraction): Promise<unknown> => {
-    const { log, NucleusColors, renderUser, entry, renderDelta } =
-        client.logger;
+    const { log, NucleusColors, renderUser, entry, renderDelta } = client.logger;
     const user = interaction.options.getMember("user") as GuildMember;
     const time = {
         days: interaction.options.getInteger("days") ?? 0,
@@ -82,19 +57,12 @@
         seconds: interaction.options.getInteger("seconds") ?? 0
     };
     const config = await client.database.guilds.read(interaction.guild.id);
-    let serverSettingsDescription = config.moderation.mute.timeout
-        ? "given a timeout"
-        : "";
+    let serverSettingsDescription = config.moderation.mute.timeout ? "given a timeout" : "";
     if (config.moderation.mute.role)
         serverSettingsDescription +=
-            (serverSettingsDescription ? " and " : "") +
-            `given the <@&${config.moderation.mute.role}> role`;
+            (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) {
         const m = (await interaction.reply({
             embeds: [
@@ -106,40 +74,16 @@
             ],
             components: [
                 new MessageActionRow().addComponents([
-                    new Discord.MessageButton()
-                        .setCustomId("1m")
-                        .setLabel("1 Minute")
-                        .setStyle("SECONDARY"),
-                    new Discord.MessageButton()
-                        .setCustomId("10m")
-                        .setLabel("10 Minutes")
-                        .setStyle("SECONDARY"),
-                    new Discord.MessageButton()
-                        .setCustomId("30m")
-                        .setLabel("30 Minutes")
-                        .setStyle("SECONDARY"),
-                    new Discord.MessageButton()
-                        .setCustomId("1h")
-                        .setLabel("1 Hour")
-                        .setStyle("SECONDARY")
+                    new Discord.MessageButton().setCustomId("1m").setLabel("1 Minute").setStyle("SECONDARY"),
+                    new Discord.MessageButton().setCustomId("10m").setLabel("10 Minutes").setStyle("SECONDARY"),
+                    new Discord.MessageButton().setCustomId("30m").setLabel("30 Minutes").setStyle("SECONDARY"),
+                    new Discord.MessageButton().setCustomId("1h").setLabel("1 Hour").setStyle("SECONDARY")
                 ]),
                 new MessageActionRow().addComponents([
-                    new Discord.MessageButton()
-                        .setCustomId("6h")
-                        .setLabel("6 Hours")
-                        .setStyle("SECONDARY"),
-                    new Discord.MessageButton()
-                        .setCustomId("12h")
-                        .setLabel("12 Hours")
-                        .setStyle("SECONDARY"),
-                    new Discord.MessageButton()
-                        .setCustomId("1d")
-                        .setLabel("1 Day")
-                        .setStyle("SECONDARY"),
-                    new Discord.MessageButton()
-                        .setCustomId("1w")
-                        .setLabel("1 Week")
-                        .setStyle("SECONDARY")
+                    new Discord.MessageButton().setCustomId("6h").setLabel("6 Hours").setStyle("SECONDARY"),
+                    new Discord.MessageButton().setCustomId("12h").setLabel("12 Hours").setStyle("SECONDARY"),
+                    new Discord.MessageButton().setCustomId("1d").setLabel("1 Day").setStyle("SECONDARY"),
+                    new Discord.MessageButton().setCustomId("1w").setLabel("1 Week").setStyle("SECONDARY")
                 ]),
                 new MessageActionRow().addComponents([
                     new Discord.MessageButton()
@@ -228,9 +172,7 @@
                     time: `${humanizeDuration(muteTime * 1000, {
                         round: true
                     })}`,
-                    reason: reason
-                        ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ")
-                        : "*No reason provided*"
+                    reason: reason ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ") : "*No reason provided*"
                 }) +
                     "The user will be " +
                     serverSettingsDescription +
@@ -244,12 +186,7 @@
                 "Create appeal ticket",
                 !(await areTicketsEnabled(interaction.guild.id)),
                 async () =>
-                    await create(
-                        interaction.guild,
-                        interaction.options.getUser("user"),
-                        interaction.user,
-                        reason
-                    ),
+                    await create(interaction.guild, interaction.options.getUser("user"), interaction.user, reason),
                 "An appeal ticket will be created when Confirm is clicked",
                 "CONTROL.TICKET",
                 createAppealTicket
@@ -291,17 +228,9 @@
                                         ? ` 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
+                                              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}>`
@@ -331,10 +260,7 @@
         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 client.database.eventScheduler.schedule(
@@ -354,15 +280,11 @@
         try {
             if (config.moderation.mute.role !== null) {
                 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
-                    }
-                );
+                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);
@@ -374,9 +296,7 @@
                     new EmojiEmbed()
                         .setEmoji("PUNISH.MUTE.RED")
                         .setTitle("Mute")
-                        .setDescription(
-                            "Something went wrong and the user was not muted"
-                        )
+                        .setDescription("Something went wrong and the user was not muted")
                         .setStatus("Danger")
                 ],
                 components: []
@@ -384,13 +304,7 @@
             if (dmd) await dm.delete();
             return;
         }
-        await client.database.history.create(
-            "mute",
-            interaction.guild.id,
-            member.user,
-            interaction.user,
-            reason
-        );
+        await client.database.history.create("mute", interaction.guild.id, member.user, interaction.user, reason);
         const failed = !dmd && notify;
         await interaction.editReply({
             embeds: [
@@ -424,14 +338,8 @@
                     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)
-                ),
+                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*")
             },
             hidden: {
@@ -457,30 +365,24 @@
     const member = interaction.member as GuildMember;
     const me = interaction.guild.me!;
     const apply = interaction.options.getMember("user") as GuildMember;
-    if (member === null || me === null || apply === null)
-        throw "That member is not in the server";
+    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";
+    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";
     // Allow the owner to mute anyone
     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";
+    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;
 };
diff --git a/src/commands/mod/nick.ts b/src/commands/mod/nick.ts
index c3d6b33..cba14f4 100644
--- a/src/commands/mod/nick.ts
+++ b/src/commands/mod/nick.ts
@@ -9,22 +9,12 @@
     builder
         .setName("nick")
         .setDescription("Changes a users nickname")
-        .addUserOption((option) =>
-            option
-                .setName("user")
-                .setDescription("The user to change")
-                .setRequired(true)
-        )
+        .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)
+            option.setName("name").setDescription("The name to set | Leave blank to clear").setRequired(false)
         );
 
-const callback = async (
-    interaction: CommandInteraction
-): Promise<void | unknown> => {
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
     const { renderUser } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let notify = true;
@@ -37,19 +27,12 @@
                 keyValueList({
                     user: renderUser(interaction.options.getUser("user")),
                     "new nickname": `${
-                        interaction.options.getString("name")
-                            ? interaction.options.getString("name")
-                            : "*No nickname*"
+                        interaction.options.getString("name") ? interaction.options.getString("name") : "*No nickname*"
                     }`
                 }) +
                     `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
+                    `Are you sure you want to ${interaction.options.getString("name") ? "change" : "clear"} <@!${
+                        (interaction.options.getMember("user") as GuildMember).id
                     }>'s nickname?`
             )
             .setColor("Danger")
@@ -74,23 +57,17 @@
         let dm;
         try {
             if (notify) {
-                dm = await (
-                    interaction.options.getMember("user") as GuildMember
-                ).send({
+                dm = await (interaction.options.getMember("user") as GuildMember).send({
                     embeds: [
                         new EmojiEmbed()
                             .setEmoji("PUNISH.NICKNAME.RED")
                             .setTitle("Nickname changed")
                             .setDescription(
                                 `Your nickname was ${
-                                    interaction.options.getString("name")
-                                        ? "changed"
-                                        : "cleared"
+                                    interaction.options.getString("name") ? "changed" : "cleared"
                                 } in ${interaction.guild.name}.` +
                                     (interaction.options.getString("name")
-                                        ? ` it is now: ${interaction.options.getString(
-                                              "name"
-                                          )}`
+                                        ? ` it is now: ${interaction.options.getString("name")}`
                                         : "") +
                                     "\n\n" +
                                     (confirmation.components.appeal.response
@@ -119,8 +96,7 @@
                 before,
                 nickname
             );
-            const { log, NucleusColors, entry, renderUser, renderDelta } =
-                client.logger;
+            const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger;
             const data = {
                 meta: {
                     type: "memberUpdate",
@@ -134,14 +110,8 @@
                     memberId: entry(member.id, `\`${member.id}\``),
                     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)
-                    )
+                    updated: entry(new Date().getTime(), renderDelta(new Date().getTime())),
+                    updatedBy: entry(interaction.user.id, renderUser(interaction.user))
                 },
                 hidden: {
                     guild: interaction.guild.id
@@ -154,9 +124,7 @@
                     new EmojiEmbed()
                         .setEmoji("PUNISH.NICKNAME.RED")
                         .setTitle("Nickname")
-                        .setDescription(
-                            "Something went wrong and the users nickname could not be changed."
-                        )
+                        .setDescription("Something went wrong and the users nickname could not be changed.")
                         .setStatus("Danger")
                 ],
                 components: []
@@ -199,30 +167,24 @@
     const member = interaction.member as GuildMember;
     const me = interaction.guild.me!;
     const apply = interaction.options.getMember("user") as GuildMember;
-    if (member === null || me === null || apply === null)
-        throw "That member is not in the server";
+    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";
+    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;
     // Check if the user has manage_nicknames permission
-    if (!member.permissions.has("MANAGE_NICKNAMES"))
-        throw "You do not have the *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;
     // 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;
 };
diff --git a/src/commands/mod/purge.ts b/src/commands/mod/purge.ts
index b78c423..63a919c 100644
--- a/src/commands/mod/purge.ts
+++ b/src/commands/mod/purge.ts
@@ -1,9 +1,4 @@
-import Discord, {
-    CommandInteraction,
-    GuildChannel,
-    GuildMember,
-    TextChannel
-} from "discord.js";
+import Discord, { CommandInteraction, GuildChannel, GuildMember, TextChannel } from "discord.js";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import confirmationMessage from "../../utils/confirmationMessage.js";
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
@@ -24,31 +19,19 @@
                 .setMaxValue(100)
         )
         .addUserOption((option) =>
-            option
-                .setName("user")
-                .setDescription("The user to purge messages from")
-                .setRequired(false)
+            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)
+            option.setName("reason").setDescription("The reason for the purge").setRequired(false)
         );
 
-const callback = async (
-    interaction: CommandInteraction
-): Promise<void | unknown> => {
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
     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())
+        !["GUILD_TEXT", "GUILD_NEWS", "GUILD_NEWS_THREAD", "GUILD_PUBLIC_THREAD", "GUILD_PRIVATE_THREAD"].includes(
+            channel.type.toString()
+        )
     ) {
         return await interaction.reply({
             embeds: [
@@ -90,32 +73,14 @@
                 ],
                 components: [
                     new Discord.MessageActionRow().addComponents([
-                        new Discord.MessageButton()
-                            .setCustomId("1")
-                            .setLabel("1")
-                            .setStyle("SECONDARY"),
-                        new Discord.MessageButton()
-                            .setCustomId("3")
-                            .setLabel("3")
-                            .setStyle("SECONDARY"),
-                        new Discord.MessageButton()
-                            .setCustomId("5")
-                            .setLabel("5")
-                            .setStyle("SECONDARY")
+                        new Discord.MessageButton().setCustomId("1").setLabel("1").setStyle("SECONDARY"),
+                        new Discord.MessageButton().setCustomId("3").setLabel("3").setStyle("SECONDARY"),
+                        new Discord.MessageButton().setCustomId("5").setLabel("5").setStyle("SECONDARY")
                     ]),
                     new Discord.MessageActionRow().addComponents([
-                        new Discord.MessageButton()
-                            .setCustomId("10")
-                            .setLabel("10")
-                            .setStyle("SECONDARY"),
-                        new Discord.MessageButton()
-                            .setCustomId("25")
-                            .setLabel("25")
-                            .setStyle("SECONDARY"),
-                        new Discord.MessageButton()
-                            .setCustomId("50")
-                            .setLabel("50")
-                            .setStyle("SECONDARY")
+                        new Discord.MessageButton().setCustomId("10").setLabel("10").setStyle("SECONDARY"),
+                        new Discord.MessageButton().setCustomId("25").setLabel("25").setStyle("SECONDARY"),
+                        new Discord.MessageButton().setCustomId("50").setLabel("50").setStyle("SECONDARY")
                     ]),
                     new Discord.MessageActionRow().addComponents([
                         new Discord.MessageButton()
@@ -144,17 +109,12 @@
                 break;
             }
             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);
-                    }
-                    messages = await (channel as TextChannel).bulkDelete(
-                        ms,
-                        true
-                    );
-                });
+            await (interaction.channel as TextChannel).messages.fetch({ limit: amount }).then(async (ms) => {
+                if (user) {
+                    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));
             }
@@ -181,8 +141,7 @@
                 deleted.length
             );
         }
-        const { log, NucleusColors, entry, renderUser, renderChannel } =
-            client.logger;
+        const { log, NucleusColors, entry, renderUser, renderChannel } = client.logger;
         const data = {
             meta: {
                 type: "channelPurge",
@@ -193,18 +152,9 @@
                 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)
-                ),
+                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: {
@@ -214,9 +164,7 @@
         log(data);
         let out = "";
         deleted.reverse().forEach((message) => {
-            out += `${message.author.username}#${
-                message.author.discriminator
-            } (${message.author.id}) [${new Date(
+            out += `${message.author.username}#${message.author.discriminator} (${message.author.id}) [${new Date(
                 message.createdTimestamp
             ).toISOString()}]\n`;
             const lines = message.content.split("\n");
@@ -304,29 +252,19 @@
             let messages;
             try {
                 if (!user) {
-                    const toDelete = await (
-                        interaction.channel as TextChannel
-                    ).messages.fetch({
+                    const toDelete = await (interaction.channel as TextChannel).messages.fetch({
                         limit: interaction.options.getInteger("amount")
                     });
-                    messages = await (channel as TextChannel).bulkDelete(
-                        toDelete,
-                        true
-                    );
+                    messages = await (channel as TextChannel).bulkDelete(toDelete, true);
                 } else {
                     const toDelete = (
                         await (
-                            await (
-                                interaction.channel as TextChannel
-                            ).messages.fetch({
+                            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
-                    );
+                    messages = await (channel as TextChannel).bulkDelete(toDelete, true);
                 }
             } catch (e) {
                 await interaction.editReply({
@@ -334,9 +272,7 @@
                         new EmojiEmbed()
                             .setEmoji("CHANNEL.PURGE.RED")
                             .setTitle("Purge")
-                            .setDescription(
-                                "Something went wrong and no messages were deleted"
-                            )
+                            .setDescription("Something went wrong and no messages were deleted")
                             .setStatus("Danger")
                     ],
                     components: []
@@ -353,8 +289,7 @@
                     messages.size
                 );
             }
-            const { log, NucleusColors, entry, renderUser, renderChannel } =
-                client.logger;
+            const { log, NucleusColors, entry, renderUser, renderChannel } = client.logger;
             const data = {
                 meta: {
                     type: "channelPurge",
@@ -365,18 +300,9 @@
                     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)
-                    ),
+                    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: {
@@ -386,9 +312,7 @@
             log(data);
             let out = "";
             messages.reverse().forEach((message) => {
-                out += `${message.author.username}#${
-                    message.author.discriminator
-                } (${message.author.id}) [${new Date(
+                out += `${message.author.username}#${message.author.discriminator} (${message.author.id}) [${new Date(
                     message.createdTimestamp
                 ).toISOString()}]\n`;
                 const lines = message.content.split("\n");
@@ -472,13 +396,11 @@
     const member = interaction.member as GuildMember;
     const me = interaction.guild.me!;
     // Check if nucleus has the manage_messages permission
-    if (!me.permissions.has("MANAGE_MESSAGES"))
-        throw "I do not have 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;
     // Check if the user has manage_messages permission
-    if (!member.permissions.has("MANAGE_MESSAGES"))
-        throw "You do not have the *Manage Messages* permission";
+    if (!member.permissions.has("MANAGE_MESSAGES")) throw "You do not have the *Manage Messages* permission";
     // Allow purge
     return true;
 };
diff --git a/src/commands/mod/slowmode.ts b/src/commands/mod/slowmode.ts
index 1a06db1..5565534 100644
--- a/src/commands/mod/slowmode.ts
+++ b/src/commands/mod/slowmode.ts
@@ -34,10 +34,7 @@
 
 const callback = async (interaction: CommandInteraction): Promise<void> => {
     let time = parseInt(interaction.options.getString("time") ?? "0");
-    if (
-        time === 0 &&
-        (interaction.channel as TextChannel).rateLimitPerUser === 0
-    ) {
+    if (time === 0 && (interaction.channel as TextChannel).rateLimitPerUser === 0) {
         time = 10;
     }
     const confirmation = await new confirmationMessage(interaction)
@@ -45,9 +42,7 @@
         .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?"
         )
         .setColor("Danger")
@@ -62,9 +57,7 @@
                     new EmojiEmbed()
                         .setEmoji("CHANNEL.SLOWMODE.OFF")
                         .setTitle("Slowmode")
-                        .setDescription(
-                            "Something went wrong while setting the slowmode"
-                        )
+                        .setDescription("Something went wrong while setting the slowmode")
                         .setStatus("Danger")
                 ],
                 components: []
@@ -100,8 +93,7 @@
     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";
+    if (!member.permissions.has("MANAGE_CHANNELS")) throw "You do not have the *Manage Channels* permission";
     // Allow slowmode
     return true;
 };
diff --git a/src/commands/mod/softban.ts b/src/commands/mod/softban.ts
index f3c475e..57a70dc 100644
--- a/src/commands/mod/softban.ts
+++ b/src/commands/mod/softban.ts
@@ -1,9 +1,4 @@
-import {
-    CommandInteraction,
-    GuildMember,
-    MessageActionRow,
-    MessageButton
-} from "discord.js";
+import { CommandInteraction, GuildMember, MessageActionRow, MessageButton } from "discord.js";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import confirmationMessage from "../../utils/confirmationMessage.js";
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
@@ -15,12 +10,7 @@
     builder
         .setName("softban")
         .setDescription("Kicks a user and deletes their messages")
-        .addUserOption((option) =>
-            option
-                .setName("user")
-                .setDescription("The user to softban")
-                .setRequired(true)
-        )
+        .addUserOption((option) => option.setName("user").setDescription("The user to softban").setRequired(true))
         .addIntegerOption((option) =>
             option
                 .setName("delete")
@@ -30,9 +20,7 @@
                 .setRequired(false)
         );
 
-const callback = async (
-    interaction: CommandInteraction
-): Promise<void | unknown> => {
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
     const { renderUser } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let reason = null;
@@ -45,21 +33,14 @@
             .setDescription(
                 keyValueList({
                     user: renderUser(interaction.options.getUser("user")),
-                    reason: reason
-                        ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ")
-                        : "*No reason provided*"
+                    reason: reason ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ") : "*No reason provided*"
                 }) +
                     `The user **will${notify ? "" : " not"}** be notified\n` +
                     `${addPlural(
-                        interaction.options.getInteger("delete")
-                            ? interaction.options.getInteger("delete")
-                            : 0,
+                        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
-                    }>?`
+                    `Are you sure you want to softban <@!${(interaction.options.getMember("user") as GuildMember).id}>?`
             )
             .setColor("Danger")
             .addCustomBoolean(
@@ -86,9 +67,7 @@
         const config = await client.database.guilds.read(interaction.guild.id);
         try {
             if (notify) {
-                await (
-                    interaction.options.getMember("user") as GuildMember
-                ).send({
+                await (interaction.options.getMember("user") as GuildMember).send({
                     embeds: [
                         new EmojiEmbed()
                             .setEmoji("PUNISH.BAN.RED")
@@ -130,30 +109,20 @@
                     new EmojiEmbed()
                         .setEmoji("PUNISH.BAN.RED")
                         .setTitle("Softban")
-                        .setDescription(
-                            "Something went wrong and the user was not softbanned"
-                        )
+                        .setDescription("Something went wrong and the user was not softbanned")
                         .setStatus("Danger")
                 ],
                 components: []
             });
         }
-        await client.database.history.create(
-            "softban",
-            interaction.guild.id,
-            member.user,
-            reason
-        );
+        await client.database.history.create("softban", interaction.guild.id, member.user, reason);
         const failed = !dmd && notify;
         await interaction.editReply({
             embeds: [
                 new EmojiEmbed()
                     .setEmoji(`PUNISH.BAN.${failed ? "YELLOW" : "GREEN"}`)
                     .setTitle("Softban")
-                    .setDescription(
-                        "The member was softbanned" +
-                            (failed ? ", but could not be notified" : "")
-                    )
+                    .setDescription("The member was softbanned" + (failed ? ", but could not be notified" : ""))
                     .setStatus(failed ? "Warning" : "Success")
             ],
             components: []
@@ -176,30 +145,24 @@
     const member = interaction.member as GuildMember;
     const me = interaction.guild.me!;
     const apply = interaction.options.getMember("user") as GuildMember;
-    if (member === null || me === null || apply === null)
-        throw "That member is not in the server";
+    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";
+    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";
     // Allow the owner to softban anyone
     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";
+    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;
 };
diff --git a/src/commands/mod/unban.ts b/src/commands/mod/unban.ts
index 06fe647..9ba10e1 100644
--- a/src/commands/mod/unban.ts
+++ b/src/commands/mod/unban.ts
@@ -10,34 +10,21 @@
         .setName("unban")
         .setDescription("Unbans a user")
         .addStringOption((option) =>
-            option
-                .setName("user")
-                .setDescription("The user to unban (Username or ID)")
-                .setRequired(true)
+            option.setName("user").setDescription("The user to unban (Username or ID)").setRequired(true)
         );
 
-const callback = async (
-    interaction: CommandInteraction
-): Promise<void | unknown> => {
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
     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) 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}\``
-                    )
+                    .setDescription(`Could not find any user called \`${user}\``)
                     .setEmoji("PUNISH.UNBAN.RED")
                     .setStatus("Danger")
             ],
@@ -58,19 +45,10 @@
     if (confirmation.cancelled) return;
     if (confirmation.success) {
         try {
-            await interaction.guild.members.unban(
-                resolved.user as User,
-                "Unban"
-            );
+            await interaction.guild.members.unban(resolved.user as User, "Unban");
             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;
+            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",
@@ -83,18 +61,9 @@
                 list: {
                     memberId: entry(member.id, `\`${member.id}\``),
                     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)
-                    )
+                    unbanned: entry(new Date().getTime(), renderDelta(new Date().getTime())),
+                    unbannedBy: entry(interaction.user.id, renderUser(interaction.user)),
+                    accountCreated: entry(member.createdAt, renderDelta(member.createdAt))
                 },
                 hidden: {
                     guild: interaction.guild.id
@@ -107,9 +76,7 @@
                     new EmojiEmbed()
                         .setEmoji("PUNISH.UNBAN.RED")
                         .setTitle("Unban")
-                        .setDescription(
-                            "Something went wrong and the user was not unbanned"
-                        )
+                        .setDescription("Something went wrong and the user was not unbanned")
                         .setStatus("Danger")
                 ],
                 components: []
@@ -143,13 +110,11 @@
     const member = interaction.member as GuildMember;
     const me = interaction.guild.me!;
     // Check if Nucleus can unban members
-    if (!me.permissions.has("BAN_MEMBERS"))
-        throw "I do not have the *Ban Members* permission";
+    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;
     // Check if the user has ban_members permission
-    if (!member.permissions.has("BAN_MEMBERS"))
-        throw "You do not have the *Ban Members* permission";
+    if (!member.permissions.has("BAN_MEMBERS")) throw "You do not have the *Ban Members* permission";
     // Allow unban
     return true;
 };
diff --git a/src/commands/mod/unmute.ts b/src/commands/mod/unmute.ts
index f625461..40a2093 100644
--- a/src/commands/mod/unmute.ts
+++ b/src/commands/mod/unmute.ts
@@ -9,18 +9,10 @@
     builder
         .setName("unmute")
         .setDescription("Unmutes a user")
-        .addUserOption((option) =>
-            option
-                .setName("user")
-                .setDescription("The user to unmute")
-                .setRequired(true)
-        );
+        .addUserOption((option) => option.setName("user").setDescription("The user to unmute").setRequired(true));
 
-const callback = async (
-    interaction: CommandInteraction
-): Promise<void | unknown> => {
-    const { log, NucleusColors, renderUser, entry, renderDelta } =
-        client.logger;
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
+    const { log, NucleusColors, renderUser, entry, renderDelta } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let reason = null;
     let notify = false;
@@ -35,10 +27,7 @@
                     reason: `\n> ${reason ? reason : "*No reason provided*"}`
                 }) +
                     `The user **will${notify ? "" : " not"}** be notified\n\n` +
-                    `Are you sure you want to unmute <@!${
-                        (interaction.options.getMember("user") as GuildMember)
-                            .id
-                    }>?`
+                    `Are you sure you want to unmute <@!${(interaction.options.getMember("user") as GuildMember).id}>?`
             )
             .setColor("Danger")
             .addReasonButton(reason ?? "")
@@ -55,18 +44,14 @@
         let dm;
         try {
             if (notify) {
-                dm = await (
-                    interaction.options.getMember("user") as GuildMember
-                ).send({
+                dm = await (interaction.options.getMember("user") as GuildMember).send({
                     embeds: [
                         new EmojiEmbed()
                             .setEmoji("PUNISH.MUTE.GREEN")
                             .setTitle("Unmuted")
                             .setDescription(
                                 `You have been unmuted in ${interaction.guild.name}` +
-                                    (reason
-                                        ? ` for:\n> ${reason}`
-                                        : " with no reason provided.")
+                                    (reason ? ` for:\n> ${reason}` : " with no reason provided.")
                             )
                             .setStatus("Success")
                     ]
@@ -85,9 +70,7 @@
                     new EmojiEmbed()
                         .setEmoji("PUNISH.MUTE.RED")
                         .setTitle("Unmute")
-                        .setDescription(
-                            "Something went wrong and the user was not unmuted"
-                        )
+                        .setDescription("Something went wrong and the user was not unmuted")
                         .setStatus("Danger")
                 ],
                 components: []
@@ -114,14 +97,8 @@
             list: {
                 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)
-                )
+                unmuted: entry(new Date().getTime(), renderDelta(new Date().getTime())),
+                unmutedBy: entry(interaction.user.id, renderUser(interaction.user))
             },
             hidden: {
                 guild: interaction.guild.id
@@ -134,10 +111,7 @@
                 new EmojiEmbed()
                     .setEmoji(`PUNISH.MUTE.${failed ? "YELLOW" : "GREEN"}`)
                     .setTitle("Unmute")
-                    .setDescription(
-                        "The member was unmuted" +
-                            (failed ? ", but could not be notified" : "")
-                    )
+                    .setDescription("The member was unmuted" + (failed ? ", but could not be notified" : ""))
                     .setStatus(failed ? "Warning" : "Success")
             ],
             components: []
@@ -160,28 +134,22 @@
     const member = interaction.member as GuildMember;
     const me = interaction.guild.me!;
     const apply = interaction.options.getMember("user") as GuildMember;
-    if (member === null || me === null || apply === null)
-        throw "That member is not in the server";
+    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";
+    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;
     // Check if the user has moderate_members permission
-    if (!member.permissions.has("MODERATE_MEMBERS"))
-        throw "You do not have the *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;
 };
diff --git a/src/commands/mod/viewas.ts b/src/commands/mod/viewas.ts
index f0b2047..577192f 100644
--- a/src/commands/mod/viewas.ts
+++ b/src/commands/mod/viewas.ts
@@ -15,19 +15,13 @@
     builder
         .setName("viewas")
         .setDescription("View the server as a specific member")
-        .addUserOption((option) =>
-            option
-                .setName("member")
-                .setDescription("The member to view as")
-                .setRequired(true)
-        );
+        .addUserOption((option) => option.setName("member").setDescription("The member to view as").setRequired(true));
 
 const callback = async (interaction: CommandInteraction): Promise<void> => {
     let channels = [];
     let m;
     interaction.guild.channels.cache.forEach((channel) => {
-        if (!channel.parent && channel.type !== "GUILD_CATEGORY")
-            channels.push(channel);
+        if (!channel.parent && channel.type !== "GUILD_CATEGORY") channels.push(channel);
     });
     channels = [channels];
     channels = channels.concat(
@@ -38,11 +32,7 @@
     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) && 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;
@@ -54,9 +44,7 @@
         if (!b[0].parent) return 1;
         return a[0].parent.position - b[0].parent.position;
     });
-    const member = interaction.options.getMember(
-        "member"
-    ) as Discord.GuildMember;
+    const member = interaction.options.getMember("member") as Discord.GuildMember;
     m = await interaction.reply({
         embeds: [
             new EmojiEmbed()
@@ -76,48 +64,26 @@
                     .setTitle("Viewing as " + member.displayName)
                     .setStatus("Success")
                     .setDescription(
-                        `**${
-                            channels[page][0].parent
-                                ? channels[page][0].parent.name
-                                : "Uncategorised"
-                        }**` +
+                        `**${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";
-                                    return c
-                                        .permissionsFor(member)
-                                        .has("VIEW_CHANNEL")
-                                        ? `${getEmojiByName(
-                                              "ICONS.CHANNEL." + channelType
-                                          )} ${c.name}\n` +
+                                    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
-                                                  ) {
+                                                  if ("threads" in c && c.threads.cache.size > 0) {
                                                       return (
                                                           c.threads.cache
                                                               .map(
                                                                   (t) =>
                                                                       ` ${
-                                                                          getEmojiByName(
-                                                                              "ICONS.CHANNEL.THREAD_PIPE"
-                                                                          ) +
+                                                                          getEmojiByName("ICONS.CHANNEL.THREAD_PIPE") +
                                                                           " " +
-                                                                          getEmojiByName(
-                                                                              "ICONS.CHANNEL.THREAD_CHANNEL"
-                                                                          )
-                                                                      } ${
-                                                                          t.name
-                                                                      }`
+                                                                          getEmojiByName("ICONS.CHANNEL.THREAD_CHANNEL")
+                                                                      } ${t.name}`
                                                               )
                                                               .join("\n") + "\n"
                                                       );
@@ -136,9 +102,7 @@
                     new MessageSelectMenu()
                         .setOptions(
                             channels.map((c, index) => ({
-                                label: c[0].parent
-                                    ? c[0].parent.name
-                                    : "Uncategorised",
+                                label: c[0].parent ? c[0].parent.name : "Uncategorised",
                                 value: index.toString(),
                                 default: page === index
                             }))
@@ -195,8 +159,7 @@
 
 const check = (interaction: CommandInteraction) => {
     const member = interaction.member as GuildMember;
-    if (!member.permissions.has("MANAGE_ROLES"))
-        throw "You do not have the *Manage Roles* permission";
+    if (!member.permissions.has("MANAGE_ROLES")) throw "You do not have the *Manage Roles* permission";
     return true;
 };
 
diff --git a/src/commands/mod/warn.ts b/src/commands/mod/warn.ts
index 91c876e..5e321d0 100644
--- a/src/commands/mod/warn.ts
+++ b/src/commands/mod/warn.ts
@@ -1,33 +1,18 @@
-import Discord, {
-    CommandInteraction,
-    GuildMember,
-    MessageActionRow,
-    MessageButton
-} from "discord.js";
+import Discord, { CommandInteraction, GuildMember, MessageActionRow, MessageButton } from "discord.js";
 import { SlashCommandSubcommandBuilder } from "@discordjs/builders";
 import confirmationMessage from "../../utils/confirmationMessage.js";
 import EmojiEmbed from "../../utils/generateEmojiEmbed.js";
 import keyValueList from "../../utils/generateKeyValueList.js";
-import {
-    create,
-    areTicketsEnabled
-} from "../../actions/createModActionTicket.js";
+import { create, areTicketsEnabled } from "../../actions/createModActionTicket.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)
-        );
+        .addUserOption((option) => option.setName("user").setDescription("The user to warn").setRequired(true));
 
-const callback = async (
-    interaction: CommandInteraction
-): Promise<void | unknown> => {
+const callback = async (interaction: CommandInteraction): Promise<void | unknown> => {
     const { log, NucleusColors, renderUser, entry } = client.logger;
     // TODO:[Modals] Replace this with a modal
     let reason = null;
@@ -41,15 +26,10 @@
             .setDescription(
                 keyValueList({
                     user: renderUser(interaction.options.getUser("user")),
-                    reason: reason
-                        ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ")
-                        : "*No reason provided*"
+                    reason: reason ? "\n> " + (reason ?? "").replaceAll("\n", "\n> ") : "*No reason provided*"
                 }) +
                     `The user **will${notify ? "" : " not"}** be notified\n\n` +
-                    `Are you sure you want to warn <@!${
-                        (interaction.options.getMember("user") as GuildMember)
-                            .id
-                    }>?`
+                    `Are you sure you want to warn <@!${(interaction.options.getMember("user") as GuildMember).id}>?`
             )
             .setColor("Danger")
             .addCustomBoolean(
@@ -57,12 +37,7 @@
                 "Create appeal ticket",
                 !(await areTicketsEnabled(interaction.guild.id)),
                 async () =>
-                    await create(
-                        interaction.guild,
-                        interaction.options.getUser("user"),
-                        interaction.user,
-                        reason
-                    ),
+                    await create(interaction.guild, interaction.options.getUser("user"), interaction.user, reason),
                 "An appeal ticket will be created when Confirm is clicked",
                 "CONTROL.TICKET",
                 createAppealTicket
@@ -91,12 +66,8 @@
         let dmd = false;
         try {
             if (notify) {
-                const config = await client.database.guilds.read(
-                    interaction.guild.id
-                );
-                await (
-                    interaction.options.getMember("user") as GuildMember
-                ).send({
+                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")
@@ -145,17 +116,10 @@
             },
             list: {
                 user: entry(
-                    (interaction.options.getMember("user") as GuildMember).user
-                        .id,
-                    renderUser(
-                        (interaction.options.getMember("user") as GuildMember)
-                            .user
-                    )
+                    (interaction.options.getMember("user") as GuildMember).user.id,
+                    renderUser((interaction.options.getMember("user") as GuildMember).user)
                 ),
-                warnedBy: entry(
-                    interaction.member.user.id,
-                    renderUser(interaction.member.user)
-                ),
+                warnedBy: entry(interaction.member.user.id, renderUser(interaction.member.user)),
                 reason: reason ? `\n> ${reason}` : "No reason provided"
             },
             hidden: {
@@ -188,9 +152,7 @@
                 components: []
             });
         } else {
-            const canSeeChannel = (
-                interaction.options.getMember("user") as GuildMember
-            )
+            const canSeeChannel = (interaction.options.getMember("user") as GuildMember)
                 .permissionsIn(interaction.channel as Discord.TextChannel)
                 .has("VIEW_CHANNEL");
             const m = (await interaction.editReply({
@@ -198,17 +160,12 @@
                     new EmojiEmbed()
                         .setEmoji("PUNISH.WARN.RED")
                         .setTitle("Warn")
-                        .setDescription(
-                            "The user's DMs are not open\n\nWhat would you like to do?"
-                        )
+                        .setDescription("The user's DMs are not open\n\nWhat would you like to do?")
                         .setStatus("Danger")
                 ],
                 components: [
                     new MessageActionRow().addComponents([
-                        new Discord.MessageButton()
-                            .setCustomId("log")
-                            .setLabel("Ignore and log")
-                            .setStyle("SECONDARY"),
+                        new Discord.MessageButton().setCustomId("log").setLabel("Ignore and log").setStyle("SECONDARY"),
                         new Discord.MessageButton()
                             .setCustomId("here")
                             .setLabel("Warn here")
@@ -245,24 +202,12 @@
                         new EmojiEmbed()
                             .setEmoji("PUNISH.WARN.RED")
                             .setTitle("Warn")
-                            .setDescription(
-                                "You have been warned" +
-                                    (reason ? ` for:\n> ${reason}` : ".")
-                            )
+                            .setDescription("You have been warned" + (reason ? ` for:\n> ${reason}` : "."))
                             .setStatus("Danger")
                     ],
-                    content: `<@!${
-                        (interaction.options.getMember("user") as GuildMember)
-                            .id
-                    }>`,
+                    content: `<@!${(interaction.options.getMember("user") as GuildMember).id}>`,
                     allowedMentions: {
-                        users: [
-                            (
-                                interaction.options.getMember(
-                                    "user"
-                                ) as GuildMember
-                            ).id
-                        ]
+                        users: [(interaction.options.getMember("user") as GuildMember).id]
                     }
                 });
                 return await interaction.editReply({
@@ -316,9 +261,7 @@
                         new EmojiEmbed()
                             .setEmoji("PUNISH.WARN.GREEN")
                             .setTitle("Warn")
-                            .setDescription(
-                                `A ticket was created in <#${ticketChannel}>`
-                            )
+                            .setDescription(`A ticket was created in <#${ticketChannel}>`)
                             .setStatus("Success")
                     ],
                     components: []
@@ -343,8 +286,7 @@
     const member = interaction.member as GuildMember;
     const me = interaction.guild.me!;
     const apply = interaction.options.getMember("user") as GuildMember;
-    if (member === null || me === null || apply === null)
-        throw "That member is not in the server";
+    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 applyPos = apply.roles ? apply.roles.highest.position : 0;
     // Do not allow warning bots
@@ -352,11 +294,9 @@
     // Allow the owner to warn anyone
     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";
+    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;
 };