From 9b8bac65e67e7b4c744a4ec7f5e5b32761509f8a Mon Sep 17 00:00:00 2001 From: qeled Date: Fri, 30 Oct 2015 22:23:26 +0300 Subject: [PATCH 1/4] Fix crash on CHANNEL_DELETE --- src/Client.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Client.js b/src/Client.js index 115cbe448..39c43e3c1 100644 --- a/src/Client.js +++ b/src/Client.js @@ -1369,7 +1369,10 @@ class Client extends EventEmitter { if (channel) { self.channelCache.splice(self.channelCache.indexOf(channel), 1); - server.channels.splice(server.channels.indexOf(channel), 1); + var server = self.getServer("id", data.guild_id); + if (server) { + server.channels.splice(server.channels.indexOf(channel), 1); + } self.emit("channelDelete", channel); From b4796d5548aa514646d753eba5ca1efe6e99cfc8 Mon Sep 17 00:00:00 2001 From: qeled Date: Fri, 30 Oct 2015 22:28:13 +0300 Subject: [PATCH 2/4] Fix callback not being called in Client.joinServer --- src/Client.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Client.js b/src/Client.js index 39c43e3c1..07f3ad27f 100644 --- a/src/Client.js +++ b/src/Client.js @@ -621,8 +621,10 @@ class Client extends EventEmitter { callback(err); reject(err); } else { - if (self.getServer("id", res.body.guild.id)) { - resolve(self.getServer("id", res.body.guild.id)); + var server = self.getServer("id", res.body.guild.id); + if (server) { + callback(null, server); + resolve(server); } else { self.serverCreateListener[res.body.guild.id] = [resolve, callback]; } From 4f5dce65b6a33fc6cf9b82c0dd9698cb8b0bdb14 Mon Sep 17 00:00:00 2001 From: qeled Date: Fri, 30 Oct 2015 22:29:24 +0300 Subject: [PATCH 3/4] Fix ChannelPermissions.serialise() --- src/ChannelPermissions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ChannelPermissions.js b/src/ChannelPermissions.js index aeebd8d89..88ab94d4b 100644 --- a/src/ChannelPermissions.js +++ b/src/ChannelPermissions.js @@ -30,7 +30,7 @@ class ChannelPermissions { manageRoles: this.manageRoles, manageChannels: this.manageChannels, readMessages: this.readMessages, - sendMessages: this.sendMessage, + sendMessages: this.sendMessages, sendTTSMessages: this.sendTTSMessages, manageMessages: this.manageMessages, embedLinks: this.embedLinks, From a74fe57eb4ddeb0da27b34f96ead9130a59e0453 Mon Sep 17 00:00:00 2001 From: qeled Date: Fri, 30 Oct 2015 22:38:37 +0300 Subject: [PATCH 4/4] Fix createRole crashing with no data passed --- src/Client.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Client.js b/src/Client.js index 07f3ad27f..97885a73d 100644 --- a/src/Client.js +++ b/src/Client.js @@ -860,7 +860,7 @@ class Client extends EventEmitter { var perm = server.addRole(res.body); - if (data.color) + if (data && data.color) data.color = Color.toDec(data.color); self.guildRoleCreateIgnoreList[res.body.id] = true; @@ -899,7 +899,7 @@ class Client extends EventEmitter { tempRole[key] = data[key]; } - if (isNaN(Color.toDec(data.color))) { + if (data && isNaN(Color.toDec(data.color))) { var err = new Error("Invalid Color"); reject(err); cb(err);