From dcd57277cd3457b1c7b5105facc10e4d2373eec2 Mon Sep 17 00:00:00 2001 From: meew0 Date: Sat, 2 Apr 2016 11:34:48 +0200 Subject: [PATCH] Made channelDeleted emit for private channels, fixes #243 --- lib/Client/InternalClient.js | 10 +++++++--- src/Client/InternalClient.js | 11 +++++++---- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index d8bf118d6..484703638 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -1651,13 +1651,17 @@ var InternalClient = (function () { break; case _Constants.PacketType.CHANNEL_DELETE: - var channel = self.channels.get("id", data.id); + var channel = self.channels.get("id", data.id) || self.private_channels.get("id", data.id); if (channel) { - if (channel.server) // accounts for PMs + if (channel.server) { + // accounts for PMs channel.server.channels.remove(channel); + self.channels.remove(channel); + } else { + self.private_channels.remove(channel); + } - self.channels.remove(channel); client.emit("channelDeleted", channel); } else { client.emit("warn", "channel deleted but already out of cache?"); diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index e7e80b596..7e4c620f4 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -1013,7 +1013,7 @@ export default class InternalClient { //def updateDetails updateDetails(data) { - if (!this.user.bot && !(this.email || data.email)) + if (!this.user.bot && !(this.email || data.email)) throw new Error("Must provide email since a token was used to login"); var options = { @@ -1355,13 +1355,16 @@ export default class InternalClient { break; case PacketType.CHANNEL_DELETE: - var channel = self.channels.get("id", data.id); + var channel = self.channels.get("id", data.id) || self.private_channels.get("id", data.id); if (channel) { - if (channel.server) // accounts for PMs + if (channel.server) { // accounts for PMs channel.server.channels.remove(channel); + self.channels.remove(channel); + } else { + self.private_channels.remove(channel); + } - self.channels.remove(channel); client.emit("channelDeleted", channel); } else {