diff --git a/src/bot.ts b/src/bot.ts
index f73671ce257304877b2b6f242d268bece6a11e78..06dc6e4518592ab9c433ee6f22d080a3af0269ae 100644
--- a/src/bot.ts
+++ b/src/bot.ts
@@ -138,29 +138,27 @@ export class DiscordBot {
         return this.provisioner;
     }
 
-    public lockChannel(channel: Discord.GuildChannel) {
-        const key = `${channel.guild.id}|${channel.id}`;
-        if (this.channelLocks[key]) {
+    public lockChannel(channel: Discord.Channel) {
+        if (this.channelLocks[channel.id]) {
             return;
         }
         let i: NodeJS.Timeout;
         const p = new Promise((resolve) => {
             i = setInterval(resolve, this.config.limits.discordSendDelay);
-            this.channelLocks[key] = {i, p};
+            this.channelLocks[channel.id] = {i, p};
         });
     }
 
-    public unlockChannel(channel: Discord.GuildChannel) {
-        const key = `${channel.guild.id}|${channel.id}`;
-        const lock = this.channelLocks[key];
+    public unlockChannel(channel: Discord.Channel) {
+        const lock = this.channelLocks[channel.id];
         if (lock) {
             clearTimeout(lock.i);
         }
-        delete this.channelLocks[key];
+        delete this.channelLocks[channel.id];
     }
 
-    public async waitUnlock(channel: Discord.GuildChannel) {
-        const lock = this.channelLocks[`${channel.guild.id}|${channel.id}`];
+    public async waitUnlock(channel: Discord.Channel) {
+        const lock = this.channelLocks[channel.id];
         if (lock) {
             await lock.p;
         }
@@ -229,7 +227,7 @@ export class DiscordBot {
 
         client.on("messageDelete", async (msg: Discord.Message) => {
             try {
-                await this.waitUnlock(msg.channel as Discord.TextChannel);
+                await this.waitUnlock(msg.channel);
                 this.discordMessageQueue[msg.channel.id] = (async () => {
                     await (this.discordMessageQueue[msg.channel.id] || Promise.resolve());
                     try {
@@ -244,7 +242,7 @@ export class DiscordBot {
         });
         client.on("messageUpdate", async (oldMessage: Discord.Message, newMessage: Discord.Message) => {
             try {
-                await this.waitUnlock(newMessage.channel as Discord.TextChannel);
+                await this.waitUnlock(newMessage.channel);
                 this.discordMessageQueue[newMessage.channel.id] = (async () => {
                     await (this.discordMessageQueue[newMessage.channel.id] || Promise.resolve());
                     try {
@@ -259,7 +257,7 @@ export class DiscordBot {
         });
         client.on("message", async (msg: Discord.Message) => {
             try {
-                await this.waitUnlock(msg.channel as Discord.TextChannel);
+                await this.waitUnlock(msg.channel);
                 this.discordMessageQueue[msg.channel.id] = (async () => {
                     await (this.discordMessageQueue[msg.channel.id] || Promise.resolve());
                     try {
@@ -461,9 +459,9 @@ export class DiscordBot {
 
             const msg = await chan.fetchMessage(storeEvent.DiscordId);
             try {
-                this.lockChannel(msg.channel as Discord.TextChannel);
+                this.lockChannel(msg.channel);
                 await msg.delete();
-                this.unlockChannel(msg.channel as Discord.TextChannel);
+                this.unlockChannel(msg.channel);
                 log.info(`Deleted message`);
             } catch (ex) {
                 log.warn(`Failed to delete message`, ex);