From 44c1fc5b29e8763344f43405503b915dbf7020e8 Mon Sep 17 00:00:00 2001 From: abalabahaha Date: Sun, 24 Jan 2016 15:07:55 -0800 Subject: [PATCH] Fixed getChannelLogs before/after, added server unavailable checks in READY --- lib/Client/InternalClient.js | 58 ++++++++++++++++++++++-------------- src/Client/InternalClient.js | 39 +++++++++++++++--------- 2 files changed, 60 insertions(+), 37 deletions(-) diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index 8b30c3345..40bfd11d9 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -601,13 +601,13 @@ var InternalClient = (function () { if (options.before) { var res = _this16.resolver.resolveMessage(options.before); if (res) { - qsObject.before = res; + qsObject.before = res.id; } } if (options.after) { var res = _this16.resolver.resolveMessage(options.after); if (res) { - qsObject.after = res; + qsObject.after = res.id; } } @@ -1307,7 +1307,11 @@ var InternalClient = (function () { self.user = self.users.add(new _StructuresUser2["default"](data.user, client)); data.guilds.forEach(function (server) { - self.servers.add(new _StructuresServer2["default"](server, client)); + if (!server.unavailable) { + self.servers.add(new _StructuresServer2["default"](server, client)); + } else { + client.emit("warn", "server was unavailable, could not create (ready)"); + } }); data.private_channels.forEach(function (pm) { self.private_channels.add(new _StructuresPMChannel2["default"](pm, client)); @@ -1382,34 +1386,42 @@ var InternalClient = (function () { break; case _Constants.PacketType.SERVER_CREATE: var server = self.servers.get("id", data.id); - if (!server && !data.unavailable) { - server = new _StructuresServer2["default"](data, client); - self.servers.add(server); - client.emit("serverCreated", server); + if (!server) { + if (!data.unavailable) { + server = new _StructuresServer2["default"](data, client); + self.servers.add(server); + client.emit("serverCreated", server); + } else { + client.emit("warn", "server was unavailable, could not create"); + } } break; case _Constants.PacketType.SERVER_DELETE: var server = self.servers.get("id", data.id); - if (server && !data.unavailable) { - for (var _iterator5 = server.channels, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { - var _ref5; + if (server) { + if (!data.unavailable) { + for (var _iterator5 = server.channels, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { + var _ref5; - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref5 = _iterator5[_i5++]; - } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref5 = _i5.value; + if (_isArray5) { + if (_i5 >= _iterator5.length) break; + _ref5 = _iterator5[_i5++]; + } else { + _i5 = _iterator5.next(); + if (_i5.done) break; + _ref5 = _i5.value; + } + + var channel = _ref5; + + self.channels.remove(channel); } - var channel = _ref5; - - self.channels.remove(channel); + self.servers.remove(server); + client.emit("serverDeleted", server); + } else { + client.emit("warn", "server was unavailable, could not update"); } - - self.servers.remove(server); - client.emit("serverDeleted", server); } else { client.emit("warn", "server was deleted but it was not in the cache"); } diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index 3c9f7685b..ee745b7dd 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -480,13 +480,13 @@ export default class InternalClient { if (options.before) { const res = this.resolver.resolveMessage(options.before); if(res) { - qsObject.before = res; + qsObject.before = res.id; } } if (options.after) { const res = this.resolver.resolveMessage(options.after); if(res) { - qsObject.after = res; + qsObject.after = res.id; } } @@ -1118,7 +1118,11 @@ export default class InternalClient { self.user = self.users.add(new User(data.user, client)); data.guilds.forEach(server => { - self.servers.add(new Server(server, client)); + if (!server.unavailable) { + self.servers.add(new Server(server, client)); + } else { + client.emit("warn", "server was unavailable, could not create (ready)"); + } }); data.private_channels.forEach(pm => { self.private_channels.add(new PMChannel(pm, client)); @@ -1192,22 +1196,29 @@ export default class InternalClient { break; case PacketType.SERVER_CREATE: var server = self.servers.get("id", data.id); - if (!server && !data.unavailable) { - server = new Server(data, client) - self.servers.add(server); - client.emit("serverCreated", server); + if (!server) { + if(!data.unavailable) { + server = new Server(data, client) + self.servers.add(server); + client.emit("serverCreated", server); + } else { + client.emit("warn", "server was unavailable, could not create"); + } } break; case PacketType.SERVER_DELETE: var server = self.servers.get("id", data.id); - if (server && !data.unavailable) { - for (var channel of server.channels) { - self.channels.remove(channel); + if (server) { + if(!data.unavailable) { + for (var channel of server.channels) { + self.channels.remove(channel); + } + + self.servers.remove(server); + client.emit("serverDeleted", server); + } else { + client.emit("warn", "server was unavailable, could not update"); } - - self.servers.remove(server); - client.emit("serverDeleted", server); - } else { client.emit("warn", "server was deleted but it was not in the cache"); }