From 9015bb81392d6272e2bbf481eb6135a73e23e274 Mon Sep 17 00:00:00 2001 From: abalabahaha Date: Fri, 20 May 2016 20:40:32 -0700 Subject: [PATCH] Map roles to role IDs if possible --- lib/Client/InternalClient.js | 8 ++++++-- src/Client/InternalClient.js | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index c170286e2..202db12a3 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -1180,7 +1180,9 @@ var InternalClient = (function () { return Promise.reject(new Error("Role does not exist on same server as member")); } - var roleIDs = roles[0].server.memberMap[member.id].roles; + var roleIDs = roles[0].server.memberMap[member.id].roles.map(function (r) { + return r && r.id || r; + }); for (var i = 0; i < roles.length; i++) { if (! ~roleIDs.indexOf(roles[i].id)) { @@ -1252,7 +1254,9 @@ var InternalClient = (function () { }); } - var roleIDs = roles[0].server.memberMap[member.id].roles; + var roleIDs = roles[0].server.memberMap[member.id].roles.map(function (r) { + return r && r.id || r; + }); for (var _iterator7 = roles, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { var _ref7; diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index 2e4cf9954..011c1b04e 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -978,7 +978,7 @@ export default class InternalClient { return Promise.reject(new Error("Role does not exist on same server as member")); } - var roleIDs = roles[0].server.memberMap[member.id].roles; + var roleIDs = roles[0].server.memberMap[member.id].roles.map(r => (r && r.id) || r); for (var i = 0; i < roles.length; i++) { if (!~roleIDs.indexOf(roles[i].id)) { @@ -1037,7 +1037,7 @@ export default class InternalClient { roles = roles.map(r => this.resolver.resolveRole(r)); } - var roleIDs = roles[0].server.memberMap[member.id].roles; + var roleIDs = roles[0].server.memberMap[member.id].roles.map(r => (r && r.id) || r); for (var role of roles) { if (!role.server.memberMap[member.id]) {