From 5e64d96272b065b9eabdfa51d5cb5675bc7b88bd Mon Sep 17 00:00:00 2001 From: abalabahaha Date: Sat, 12 Mar 2016 21:44:07 -0800 Subject: [PATCH] Attempted assorted fixes --- lib/Client/InternalClient.js | 8 ++++---- lib/Structures/VoiceChannel.js | 2 +- lib/Voice/VoiceConnection.js | 1 - src/Client/InternalClient.js | 10 +++++----- src/Structures/VoiceChannel.js | 2 +- src/Voice/VoiceConnection.js | 1 - 6 files changed, 11 insertions(+), 13 deletions(-) diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index a7df49688..e813048a5 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -1510,6 +1510,8 @@ var InternalClient = (function () { var server = self.servers.get("id", data.id); if (server) { if (!data.unavailable) { + client.emit("serverDeleted", server); + for (var _iterator7 = server.channels, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { var _ref7; @@ -1529,7 +1531,7 @@ var InternalClient = (function () { self.servers.remove(server); - for (var _iterator8 = self.users, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { + for (var _iterator8 = server.members, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { var _ref8; if (_isArray8) { @@ -1549,8 +1551,6 @@ var InternalClient = (function () { self.users.remove(user); } } - - client.emit("serverDeleted", server); } else { client.emit("warn", "server was unavailable, could not update"); } @@ -1714,10 +1714,10 @@ var InternalClient = (function () { if (server) { var user = self.users.get("id", data.user.id); if (user) { + client.emit("serverMemberRemoved", server, user); server.memberMap[data.user.id] = null; server.members.remove(user); server.memberCount--; - client.emit("serverMemberRemoved", server, user); if (!self.servers.find(function (s) { return !!s.members.get("id", user.id); })) { diff --git a/lib/Structures/VoiceChannel.js b/lib/Structures/VoiceChannel.js index f6bc62a49..cbc8ee4f6 100644 --- a/lib/Structures/VoiceChannel.js +++ b/lib/Structures/VoiceChannel.js @@ -25,7 +25,7 @@ var VoiceChannel = (function (_ServerChannel) { _classCallCheck(this, VoiceChannel); _ServerChannel.call(this, data, client, server); - this.members = new _UtilCache2["default"](); + this.members = data.members || new _UtilCache2["default"](); } VoiceChannel.prototype.join = function join() { diff --git a/lib/Voice/VoiceConnection.js b/lib/Voice/VoiceConnection.js index 78c54826b..4a89fada9 100644 --- a/lib/Voice/VoiceConnection.js +++ b/lib/Voice/VoiceConnection.js @@ -127,7 +127,6 @@ var VoiceConnection = (function (_EventEmitter) { onWarning = false, lastVolume = this.volume !== undefined ? this.volume.get() : 1; - this.volume = stream; this.playing = true; this.playingIntent = retStream; diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index 4245a355c..b5594bd6c 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -1265,19 +1265,19 @@ export default class InternalClient { var server = self.servers.get("id", data.id); if (server) { if (!data.unavailable) { + client.emit("serverDeleted", server); + for (var channel of server.channels) { self.channels.remove(channel); } self.servers.remove(server); - for (var user of self.users) { + for (var user of server.members) { if (!self.servers.find((s) => !!s.members.get("id", user.id))) { self.users.remove(user); } } - - client.emit("serverDeleted", server); } else { client.emit("warn", "server was unavailable, could not update"); } @@ -1437,7 +1437,7 @@ export default class InternalClient { "serverNewMember", server, server.members.add(self.users.add(new User(data.user, client))) - ); + ); } else { client.emit("warn", "server member added but server doesn't exist in cache"); @@ -1448,10 +1448,10 @@ export default class InternalClient { if (server) { var user = self.users.get("id", data.user.id); if (user) { + client.emit("serverMemberRemoved", server, user); server.memberMap[data.user.id] = null; server.members.remove(user); server.memberCount--; - client.emit("serverMemberRemoved", server, user); if (!self.servers.find((s) => !!s.members.get("id", user.id))) { self.users.remove(user); } diff --git a/src/Structures/VoiceChannel.js b/src/Structures/VoiceChannel.js index aafa83022..09f4bc9fc 100644 --- a/src/Structures/VoiceChannel.js +++ b/src/Structures/VoiceChannel.js @@ -7,7 +7,7 @@ import {reg} from "../Util/ArgumentRegulariser"; export default class VoiceChannel extends ServerChannel{ constructor(data, client, server){ super(data, client, server); - this.members = new Cache(); + this.members = data.members || new Cache(); } join(callback = function () { }) { diff --git a/src/Voice/VoiceConnection.js b/src/Voice/VoiceConnection.js index 9acc36b4b..469b657e4 100644 --- a/src/Voice/VoiceConnection.js +++ b/src/Voice/VoiceConnection.js @@ -92,7 +92,6 @@ export default class VoiceConnection extends EventEmitter { onWarning = false, lastVolume = this.volume !== undefined ? this.volume.get() : 1; - this.volume = stream; this.playing = true; this.playingIntent = retStream;