diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index 1d6108717..3ecae194d 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -2052,29 +2052,6 @@ var InternalClient = (function () { server.memberMap[data.user.id] = null; server.members.remove(user); server.memberCount--; - var found = false; - for (var _iterator10 = self.servers, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { - var _ref10; - - if (_isArray10) { - if (_i10 >= _iterator10.length) break; - _ref10 = _iterator10[_i10++]; - } else { - _i10 = _iterator10.next(); - if (_i10.done) break; - _ref10 = _i10.value; - } - - var s = _ref10; - - if (s.members.get("id", user.id)) { - found = true; - break; - } - } - if (!found) { - self.users.remove(user); - } } else { client.emit("warn", "server member removed but user doesn't exist in cache"); } @@ -2253,19 +2230,19 @@ var InternalClient = (function () { var testtime = Date.now(); - for (var _iterator11 = data.members, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) { - var _ref11; + for (var _iterator10 = data.members, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { + var _ref10; - if (_isArray11) { - if (_i11 >= _iterator11.length) break; - _ref11 = _iterator11[_i11++]; + if (_isArray10) { + if (_i10 >= _iterator10.length) break; + _ref10 = _iterator10[_i10++]; } else { - _i11 = _iterator11.next(); - if (_i11.done) break; - _ref11 = _i11.value; + _i10 = _iterator10.next(); + if (_i10.done) break; + _ref10 = _i10.value; } - var user = _ref11; + var user = _ref10; server.memberMap[user.user.id] = { roles: user.roles.map(function (pid) { diff --git a/lib/Constants.js b/lib/Constants.js index 8ab6ab206..485d82e99 100644 --- a/lib/Constants.js +++ b/lib/Constants.js @@ -84,13 +84,14 @@ var Permissions = { createInstantInvite: 1 << 0, kickMembers: 1 << 1, banMembers: 1 << 2, - manageRoles: 1 << 3, - managePermissions: 1 << 3, + administrator: 1 << 3, manageChannels: 1 << 4, manageChannel: 1 << 4, manageServer: 1 << 5, changeNickname: 1 << 26, manageNicknames: 1 << 27, + manageRoles: 1 << 28, + managePermissions: 1 << 28, // text readMessages: 1 << 10, sendMessages: 1 << 11, diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index bb895cfe9..c2f5011b0 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -1763,16 +1763,6 @@ export default class InternalClient { server.memberMap[data.user.id] = null; server.members.remove(user); server.memberCount--; - var found = false; - for (var s of self.servers) { - if (s.members.get("id", user.id)) { - found = true; - break; - } - } - if (!found) { - self.users.remove(user); - } } else { client.emit("warn", "server member removed but user doesn't exist in cache"); }