diff --git a/src/client/rest/RESTMethods.js b/src/client/rest/RESTMethods.js index 685141f49..3e78a8847 100644 --- a/src/client/rest/RESTMethods.js +++ b/src/client/rest/RESTMethods.js @@ -501,6 +501,11 @@ class RESTMethods { addMemberRole(member, role) { return new Promise(resolve => { + if (member._roles.includes(role.id)) { + resolve(member); + return; + } + const listener = (oldMember, newMember) => { if (!oldMember._roles.includes(role.id) && newMember._roles.includes(role.id)) { this.client.removeListener('guildMemberUpdate', listener); @@ -521,6 +526,11 @@ class RESTMethods { removeMemberRole(member, role) { return new Promise(resolve => { + if (!member._roles.includes(role.id)) { + resolve(member); + return; + } + const listener = (oldMember, newMember) => { if (oldMember._roles.includes(role.id) && !newMember._roles.includes(role.id)) { this.client.removeListener('guildMemberUpdate', listener);