From 1c8e773700e03efdcab4d2eb261256e23b198506 Mon Sep 17 00:00:00 2001 From: abalabahaha Date: Wed, 1 Jun 2016 15:36:27 -0700 Subject: [PATCH] More if statements for bad state tracking --- lib/Structures/Server.js | 20 ++++++++++++-------- src/Structures/Server.js | 20 ++++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/lib/Structures/Server.js b/lib/Structures/Server.js index d2d04ceb4..f415b2f7e 100644 --- a/lib/Structures/Server.js +++ b/lib/Structures/Server.js @@ -156,14 +156,18 @@ var Server = (function (_Equality) { var voiceState = _ref2; var _user = this.members.get("id", voiceState.user_id); - var channel = this.channels.get("id", voiceState.channel_id); - this.memberMap[_user.id] = this.memberMap[_user.id] || {}; - this.memberMap[_user.id].mute = voiceState.mute || this.memberMap[_user.id].mute; - this.memberMap[_user.id].selfMute = voiceState.self_mute === undefined ? this.memberMap[_user.id].selfMute : voiceState.self_mute; - this.memberMap[_user.id].deaf = voiceState.deaf || this.memberMap[_user.id].deaf; - this.memberMap[_user.id].selfDeaf = voiceState.self_deaf === undefined ? this.memberMap[_user.id].selfDeaf : voiceState.self_deaf; - if (_user && channel) { - this.eventVoiceJoin(_user, channel); + if (_user) { + this.memberMap[_user.id] = this.memberMap[_user.id] || {}; + this.memberMap[_user.id].mute = voiceState.mute || this.memberMap[_user.id].mute; + this.memberMap[_user.id].selfMute = voiceState.self_mute === undefined ? this.memberMap[_user.id].selfMute : voiceState.self_mute; + this.memberMap[_user.id].deaf = voiceState.deaf || this.memberMap[_user.id].deaf; + this.memberMap[_user.id].selfDeaf = voiceState.self_deaf === undefined ? this.memberMap[_user.id].selfDeaf : voiceState.self_deaf; + var channel = this.channels.get("id", voiceState.channel_id); + if (channel) { + this.eventVoiceJoin(_user, channel); + } else { + this.client.emit("warn", "channel doesn't exist even though READY expects them to"); + } } else { this.client.emit("warn", "user doesn't exist even though READY expects them to"); } diff --git a/src/Structures/Server.js b/src/Structures/Server.js index 8f132613e..f7bbeda84 100644 --- a/src/Structures/Server.js +++ b/src/Structures/Server.js @@ -93,14 +93,18 @@ export default class Server extends Equality { if (data.voice_states) { for (var voiceState of data.voice_states) { let user = this.members.get("id", voiceState.user_id); - let channel = this.channels.get("id", voiceState.channel_id); - this.memberMap[user.id] = this.memberMap[user.id] || {}; - this.memberMap[user.id].mute = voiceState.mute || this.memberMap[user.id].mute; - this.memberMap[user.id].selfMute = voiceState.self_mute === undefined ? this.memberMap[user.id].selfMute : voiceState.self_mute; - this.memberMap[user.id].deaf = voiceState.deaf || this.memberMap[user.id].deaf; - this.memberMap[user.id].selfDeaf = voiceState.self_deaf === undefined ? this.memberMap[user.id].selfDeaf : voiceState.self_deaf; - if (user && channel) { - this.eventVoiceJoin(user, channel); + if (user) { + this.memberMap[user.id] = this.memberMap[user.id] || {}; + this.memberMap[user.id].mute = voiceState.mute || this.memberMap[user.id].mute; + this.memberMap[user.id].selfMute = voiceState.self_mute === undefined ? this.memberMap[user.id].selfMute : voiceState.self_mute; + this.memberMap[user.id].deaf = voiceState.deaf || this.memberMap[user.id].deaf; + this.memberMap[user.id].selfDeaf = voiceState.self_deaf === undefined ? this.memberMap[user.id].selfDeaf : voiceState.self_deaf; + let channel = this.channels.get("id", voiceState.channel_id); + if (channel) { + this.eventVoiceJoin(user, channel); + } else { + this.client.emit("warn", "channel doesn't exist even though READY expects them to"); + } } else { this.client.emit("warn", "user doesn't exist even though READY expects them to"); }