diff --git a/src/client/websocket/WebSocketConnection.js b/src/client/websocket/WebSocketConnection.js index 4e3835ef..5e07b1a6 100644 --- a/src/client/websocket/WebSocketConnection.js +++ b/src/client/websocket/WebSocketConnection.js @@ -269,13 +269,15 @@ class WebSocketConnection extends EventEmitter { this.inflate.push(data, flush && zlib.Z_SYNC_FLUSH); if (!flush) return; + let packet; try { - const packet = WebSocket.unpack(this.inflate.result); - this.onPacket(packet); - if (this.client.listenerCount('raw')) this.client.emit('raw', packet); + packet = WebSocket.unpack(this.inflate.result); } catch (err) { this.client.emit('debug', err); + return; } + this.onPacket(packet); + if (this.client.listenerCount('raw')) this.client.emit('raw', packet); } /** diff --git a/src/stores/ChannelStore.js b/src/stores/ChannelStore.js index 53a81358..6e2e4081 100644 --- a/src/stores/ChannelStore.js +++ b/src/stores/ChannelStore.js @@ -7,7 +7,6 @@ const lruable = ['group', 'dm']; /** * Stores channels. - * @private * @extends {DataStore} */ class ChannelStore extends DataStore { diff --git a/src/stores/ClientPresenceStore.js b/src/stores/ClientPresenceStore.js index 12213059..a6eedb7c 100644 --- a/src/stores/ClientPresenceStore.js +++ b/src/stores/ClientPresenceStore.js @@ -7,7 +7,6 @@ const { TypeError } = require('../errors'); /** * Stores the client presence and other presences. * @extends {PresenceStore} - * @private */ class ClientPresenceStore extends PresenceStore { constructor(...args) { diff --git a/src/stores/GuildChannelStore.js b/src/stores/GuildChannelStore.js index f37c5885..c4d0c6fe 100644 --- a/src/stores/GuildChannelStore.js +++ b/src/stores/GuildChannelStore.js @@ -7,7 +7,6 @@ const Permissions = require('../util/Permissions'); /** * Stores guild channels. - * @private * @extends {DataStore} */ class GuildChannelStore extends DataStore { diff --git a/src/stores/GuildEmojiStore.js b/src/stores/GuildEmojiStore.js index 0fc4cc60..bc5c5728 100644 --- a/src/stores/GuildEmojiStore.js +++ b/src/stores/GuildEmojiStore.js @@ -6,7 +6,6 @@ const DataResolver = require('../util/DataResolver'); /** * Stores guild emojis. - * @private * @extends {DataStore} */ class GuildEmojiStore extends DataStore { diff --git a/src/stores/GuildStore.js b/src/stores/GuildStore.js index 7b7810ae..35701087 100644 --- a/src/stores/GuildStore.js +++ b/src/stores/GuildStore.js @@ -5,7 +5,6 @@ const Guild = require('../structures/Guild'); /** * Stores guilds. - * @private * @extends {DataStore} */ class GuildStore extends DataStore { diff --git a/src/stores/PresenceStore.js b/src/stores/PresenceStore.js index 1b927934..79f0c525 100644 --- a/src/stores/PresenceStore.js +++ b/src/stores/PresenceStore.js @@ -3,7 +3,6 @@ const { Presence } = require('../structures/Presence'); /** * Stores presences. - * @private * @extends {DataStore} */ class PresenceStore extends DataStore { diff --git a/src/stores/ReactionStore.js b/src/stores/ReactionStore.js index 4a689a44..38c467b7 100644 --- a/src/stores/ReactionStore.js +++ b/src/stores/ReactionStore.js @@ -3,7 +3,6 @@ const MessageReaction = require('../structures/MessageReaction'); /** * Stores reactions. - * @private * @extends {DataStore} */ class ReactionStore extends DataStore { diff --git a/src/stores/RoleStore.js b/src/stores/RoleStore.js index 2b5f9ee1..55eeaa94 100644 --- a/src/stores/RoleStore.js +++ b/src/stores/RoleStore.js @@ -5,7 +5,6 @@ const Permissions = require('../util/Permissions'); /** * Stores roles. - * @private * @extends {DataStore} */ class RoleStore extends DataStore { diff --git a/src/structures/GuildMember.js b/src/structures/GuildMember.js index 08561c75..03852792 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;