From b130b2400b218b93cb4627ea83baa5efca928d9c Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Sun, 4 Oct 2015 00:00:30 +0100 Subject: [PATCH] updated indexing --- lib/Client.js | 10 ++++++++++ lib/server.js | 6 ++++-- src/Client.js | 10 ++++++++++ src/server.js | 7 +++++-- test/bot.1.js | 6 +++++- 5 files changed, 34 insertions(+), 5 deletions(-) diff --git a/lib/Client.js b/lib/Client.js index 51454a9bb..b4f54294a 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -1145,6 +1145,16 @@ var Client = (function () { break; + case "GUILD_ROLE_UPDATE": + + var server = self.getServer("id", data.guild_id); + var role = server.getRole(data.role.id); + var newRole = server.updateRole(data.role); + + self.trigger("serverRoleUpdate", server, role, newRole); + + break; + default: self.debug("received unknown packet"); self.trigger("unknown", dat); diff --git a/lib/server.js b/lib/server.js index cd6fddaad..9921a457c 100644 --- a/lib/server.js +++ b/lib/server.js @@ -128,8 +128,10 @@ var Server = (function () { if (oldRole) { - oldRole.packed = data.permissions; - oldRole.name = data.name; + var index = this.roles.indexOf(oldRole); + this.roles[index] = new ServerPermissions(permissionGroup); + + return this.roles[index]; } else { return false; } diff --git a/src/Client.js b/src/Client.js index 20d71f330..bede31c3e 100644 --- a/src/Client.js +++ b/src/Client.js @@ -1053,6 +1053,16 @@ class Client { server.removeRole(role.id); break; + + case "GUILD_ROLE_UPDATE": + + var server = self.getServer("id", data.guild_id); + var role = server.getRole(data.role.id); + var newRole = server.updateRole(data.role); + + self.trigger("serverRoleUpdate", server, role, newRole); + + break; default: self.debug("received unknown packet"); diff --git a/src/server.js b/src/server.js index 92bbd970f..cd9342c0f 100644 --- a/src/server.js +++ b/src/server.js @@ -89,8 +89,11 @@ class Server { if(oldRole){ - oldRole.packed = data.permissions; - oldRole.name = data.name; + var index = this.roles.indexOf(oldRole); + this.roles[index] = new ServerPermissions(permissionGroup); + + + return this.roles[index]; }else{ return false; diff --git a/test/bot.1.js b/test/bot.1.js index 19caf0151..0aabfdb6c 100644 --- a/test/bot.1.js +++ b/test/bot.1.js @@ -24,7 +24,11 @@ mybot.on("message", function (message) { console.log("the ID is ", user.id); - mybot.reply(message, user + "'s evaluated permissions in this channel are " + JSON.stringify(message.channel.permissionsOf(user), null, 4).replace(/true/g, "**true**")); + for(key in message.channel.permissionsOf(user)){ + console.log(key); + } + + mybot.reply(message, user + "'s evaluated permissions in this channel are " + message.channel.permissionsOf(user).attachFiles); });