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