From fbd25f867742bac5511e47bbf69274bdc82ccb23 Mon Sep 17 00:00:00 2001 From: Pascal Date: Sat, 20 Jan 2018 12:44:27 +0100 Subject: [PATCH] fix(GuildMember): make edit method only modify a copy of the voice state This is to fix stale members in voice channels. --- src/structures/GuildMember.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/structures/GuildMember.js b/src/structures/GuildMember.js index 08561c757..038527929 100644 --- a/src/structures/GuildMember.js +++ b/src/structures/GuildMember.js @@ -357,7 +357,8 @@ class GuildMember extends Base { const clone = this._clone(); data.user = this.user; clone._patch(data); - clone._frozenVoiceState = this.voiceState; + clone._frozenVoiceState = {}; + Object.assign(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;