diff --git a/lib/ServerPermissions.js b/lib/ServerPermissions.js index 66411f542..b96249b9d 100644 --- a/lib/ServerPermissions.js +++ b/lib/ServerPermissions.js @@ -18,7 +18,6 @@ var ServerPermissions = (function () { this.name = data.name; this.id = data.id; - this.createInstantInvite = getBit(0); this.banMembers = getBit(1); this.kickMembers = getBit(2); this.manageRoles = getBit(3); @@ -51,6 +50,14 @@ var ServerPermissions = (function () { value: function toString() { return this.name; } + }, { + key: "createInstantInvite", + get: function get() { + return this.getBit(0); + }, + set: function set(val) { + this.setBit(0, val); + } }]); return ServerPermissions; diff --git a/lib/server.js b/lib/server.js index 0bdb36612..cd6fddaad 100644 --- a/lib/server.js +++ b/lib/server.js @@ -122,7 +122,18 @@ var Server = (function () { } }, { key: "updateRole", - value: function updateRole() {} + value: function updateRole(data) { + + var oldRole = this.getRole(data.id); + + if (oldRole) { + + oldRole.packed = data.permissions; + oldRole.name = data.name; + } else { + return false; + } + } }, { key: "removeRole", value: function removeRole(id) { diff --git a/src/ServerPermissions.js b/src/ServerPermissions.js index dc0a3c9ce..7d4babd32 100644 --- a/src/ServerPermissions.js +++ b/src/ServerPermissions.js @@ -11,8 +11,7 @@ class ServerPermissions { this.packed = data.permissions; this.name = data.name; this.id = data.id; - - this.createInstantInvite = getBit(0); + this.banMembers = getBit(1); this.kickMembers = getBit(2); this.manageRoles = getBit(3); @@ -35,6 +34,9 @@ class ServerPermissions { this.voiceUseVoiceActivation = getBit(25); } + + get createInstantInvite(){return this.getBit(0);} + set createInstantInvite(val){this.setBit(0, val);} getBit(x) { return ((this.packed >>> x) & 1) === 1; diff --git a/src/server.js b/src/server.js index 6ae83ad58..92bbd970f 100644 --- a/src/server.js +++ b/src/server.js @@ -83,7 +83,18 @@ class Server { return null; } - updateRole(){ + updateRole(data){ + + var oldRole = this.getRole(data.id); + + if(oldRole){ + + oldRole.packed = data.permissions; + oldRole.name = data.name; + + }else{ + return false; + } }