mirror of
https://github.com/danbulant/discord.js
synced 2026-06-09 17:52:55 +00:00
Fix #1281
This commit is contained in:
parent
5f694d1149
commit
84153be894
2 changed files with 19 additions and 4 deletions
|
|
@ -354,9 +354,14 @@ class GuildMember extends Base {
|
||||||
} else {
|
} else {
|
||||||
endpoint = endpoint.members(this.id);
|
endpoint = endpoint.members(this.id);
|
||||||
}
|
}
|
||||||
return endpoint.patch({ data, reason }).then(newData => {
|
return endpoint.patch({ data, reason }).then(() => {
|
||||||
const clone = this._clone();
|
const clone = this._clone();
|
||||||
clone._patch(newData);
|
data.user = this.user;
|
||||||
|
clone._patch(data);
|
||||||
|
clone._frozenVoiceState = this.voiceState;
|
||||||
|
if (typeof data.mute !== 'undefined') clone._frozenVoiceState.mute = data.mute;
|
||||||
|
if (typeof data.deaf !== 'undefined') clone._frozenVoiceState.mute = data.deaf;
|
||||||
|
if (typeof data.channel_id !== 'undefined') clone._frozenVoiceState.channel_id = data.channel_id;
|
||||||
return clone;
|
return clone;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -412,7 +417,11 @@ class GuildMember extends Base {
|
||||||
if (this._roles.includes(role.id)) return Promise.resolve(this);
|
if (this._roles.includes(role.id)) return Promise.resolve(this);
|
||||||
return this.client.api.guilds(this.guild.id).members(this.user.id).roles(role.id)
|
return this.client.api.guilds(this.guild.id).members(this.user.id).roles(role.id)
|
||||||
.put({ reason })
|
.put({ reason })
|
||||||
.then(() => this);
|
.then(() => {
|
||||||
|
const clone = this._clone();
|
||||||
|
if (!clone._roles.includes(role.id)) clone._roles.push(role.id);
|
||||||
|
return clone;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -446,7 +455,12 @@ class GuildMember extends Base {
|
||||||
if (!this._roles.includes(role.id)) return Promise.resolve(this);
|
if (!this._roles.includes(role.id)) return Promise.resolve(this);
|
||||||
return this.client.api.guilds(this.guild.id).members(this.user.id).roles(role.id)
|
return this.client.api.guilds(this.guild.id).members(this.user.id).roles(role.id)
|
||||||
.delete({ reason })
|
.delete({ reason })
|
||||||
.then(() => this);
|
.then(() => {
|
||||||
|
const clone = this._clone();
|
||||||
|
const index = clone._roles.indexOf(role.id);
|
||||||
|
if (~index) clone._roles.splice(index, 1);
|
||||||
|
return clone;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ class VoiceChannel extends GuildChannel {
|
||||||
}
|
}
|
||||||
|
|
||||||
_patch(data) {
|
_patch(data) {
|
||||||
|
super._patch(data);
|
||||||
/**
|
/**
|
||||||
* The bitrate of this voice channel
|
* The bitrate of this voice channel
|
||||||
* @type {number}
|
* @type {number}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue