Fix addRole/removeRole when the user has/doesn't have the role (#1288)

This commit is contained in:
Programmix 2017-03-20 22:52:43 -07:00 committed by Schuyler Cebulskie
parent 2e54f6d90d
commit 633e3ca896

View file

@ -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);