diff --git a/src/premium/createTranscript.ts b/src/premium/createTranscript.ts
index 5fbb8ad..50bcbcf 100644
--- a/src/premium/createTranscript.ts
+++ b/src/premium/createTranscript.ts
@@ -4,7 +4,6 @@
     Message,
     MessageActionRow,
     MessageButton,
-    PartialGroupDMChannel,
     TextChannel
 } from "discord.js";
 import EmojiEmbed from "../utils/generateEmojiEmbed.js";
@@ -17,7 +16,7 @@
 
 export default async function (interaction: CommandInteraction) {
     if (interaction.channel === null) return;
-    if (interaction.channel instanceof DMChannel) return;
+    if (!(interaction.channel instanceof TextChannel)) return;
     const { log, NucleusColors, entry, renderUser, renderDelta } = client.logger;
 
     let messages: Message[] = [];
@@ -44,18 +43,19 @@
             out += "\n\n";
         }
     });
-    const member = interaction.channel.guild.members.cache.get(interaction.channel.topic.split(" ")[0]);
+    const member = interaction.guild!.members.cache.get(interaction.channel.topic.split(" ")[0]);
     let m;
     if (out !== "") {
         const url = await pbClient.createPaste({
             code: out,
             expireDate: ExpireDate.Never,
-            name: `Ticket Transcript for ${member.user.username}#${member.user.discriminator} (Created at ${new Date(
+            name: `Ticket Transcript ${member ? ("for " + member.user.username + "#" + member.user.discriminator + " ") : ""}` +
+                `(Created at ${new Date(
                 interaction.channel.createdTimestamp
             ).toDateString()})`,
             publicity: Publicity.Unlisted
         });
-        const guildConfig = await client.database.guilds.read(interaction.guild.id);
+        const guildConfig = await client.database.guilds.read(interaction.guild!.id);
         m = await interaction.reply({
             embeds: [
                 new EmojiEmbed()
@@ -121,15 +121,15 @@
             timestamp: new Date().getTime()
         },
         list: {
-            ticketFor: entry(
-                interaction.channel.topic.split(" ")[0],
-                renderUser((await interaction.guild.members.fetch(interaction.channel.topic.split(" ")[0])).user)
-            ),
-            deletedBy: entry(interaction.member.user.id, renderUser(interaction.member.user)),
+            ticketFor: member ? entry(
+                member.id,
+                renderUser(member.user)
+            ) : entry(null, "*Unknown*"),
+            deletedBy: entry(interaction.member!.user.id, renderUser(interaction.member!.user)),
             deleted: entry(new Date().getTime(), renderDelta(new Date().getTime()))
         },
         hidden: {
-            guild: interaction.guild.id
+            guild: interaction.guild!.id
         }
     };
     log(data);
