Fixed getChannelLogs before/after, added server unavailable checks in READY

This commit is contained in:
abalabahaha
2016-01-24 15:07:55 -08:00
parent c5174b4d93
commit 44c1fc5b29
2 changed files with 60 additions and 37 deletions

View File

@@ -601,13 +601,13 @@ var InternalClient = (function () {
if (options.before) { if (options.before) {
var res = _this16.resolver.resolveMessage(options.before); var res = _this16.resolver.resolveMessage(options.before);
if (res) { if (res) {
qsObject.before = res; qsObject.before = res.id;
} }
} }
if (options.after) { if (options.after) {
var res = _this16.resolver.resolveMessage(options.after); var res = _this16.resolver.resolveMessage(options.after);
if (res) { 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)); self.user = self.users.add(new _StructuresUser2["default"](data.user, client));
data.guilds.forEach(function (server) { 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) { data.private_channels.forEach(function (pm) {
self.private_channels.add(new _StructuresPMChannel2["default"](pm, client)); self.private_channels.add(new _StructuresPMChannel2["default"](pm, client));
@@ -1382,34 +1386,42 @@ var InternalClient = (function () {
break; break;
case _Constants.PacketType.SERVER_CREATE: case _Constants.PacketType.SERVER_CREATE:
var server = self.servers.get("id", data.id); var server = self.servers.get("id", data.id);
if (!server && !data.unavailable) { if (!server) {
server = new _StructuresServer2["default"](data, client); if (!data.unavailable) {
self.servers.add(server); server = new _StructuresServer2["default"](data, client);
client.emit("serverCreated", server); self.servers.add(server);
client.emit("serverCreated", server);
} else {
client.emit("warn", "server was unavailable, could not create");
}
} }
break; break;
case _Constants.PacketType.SERVER_DELETE: case _Constants.PacketType.SERVER_DELETE:
var server = self.servers.get("id", data.id); var server = self.servers.get("id", data.id);
if (server && !data.unavailable) { if (server) {
for (var _iterator5 = server.channels, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { if (!data.unavailable) {
var _ref5; for (var _iterator5 = server.channels, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
var _ref5;
if (_isArray5) { if (_isArray5) {
if (_i5 >= _iterator5.length) break; if (_i5 >= _iterator5.length) break;
_ref5 = _iterator5[_i5++]; _ref5 = _iterator5[_i5++];
} else { } else {
_i5 = _iterator5.next(); _i5 = _iterator5.next();
if (_i5.done) break; if (_i5.done) break;
_ref5 = _i5.value; _ref5 = _i5.value;
}
var channel = _ref5;
self.channels.remove(channel);
} }
var channel = _ref5; self.servers.remove(server);
client.emit("serverDeleted", server);
self.channels.remove(channel); } else {
client.emit("warn", "server was unavailable, could not update");
} }
self.servers.remove(server);
client.emit("serverDeleted", server);
} else { } else {
client.emit("warn", "server was deleted but it was not in the cache"); client.emit("warn", "server was deleted but it was not in the cache");
} }

View File

@@ -480,13 +480,13 @@ export default class InternalClient {
if (options.before) { if (options.before) {
const res = this.resolver.resolveMessage(options.before); const res = this.resolver.resolveMessage(options.before);
if(res) { if(res) {
qsObject.before = res; qsObject.before = res.id;
} }
} }
if (options.after) { if (options.after) {
const res = this.resolver.resolveMessage(options.after); const res = this.resolver.resolveMessage(options.after);
if(res) { 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)); self.user = self.users.add(new User(data.user, client));
data.guilds.forEach(server => { 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 => { data.private_channels.forEach(pm => {
self.private_channels.add(new PMChannel(pm, client)); self.private_channels.add(new PMChannel(pm, client));
@@ -1192,22 +1196,29 @@ export default class InternalClient {
break; break;
case PacketType.SERVER_CREATE: case PacketType.SERVER_CREATE:
var server = self.servers.get("id", data.id); var server = self.servers.get("id", data.id);
if (!server && !data.unavailable) { if (!server) {
server = new Server(data, client) if(!data.unavailable) {
self.servers.add(server); server = new Server(data, client)
client.emit("serverCreated", server); self.servers.add(server);
client.emit("serverCreated", server);
} else {
client.emit("warn", "server was unavailable, could not create");
}
} }
break; break;
case PacketType.SERVER_DELETE: case PacketType.SERVER_DELETE:
var server = self.servers.get("id", data.id); var server = self.servers.get("id", data.id);
if (server && !data.unavailable) { if (server) {
for (var channel of server.channels) { if(!data.unavailable) {
self.channels.remove(channel); 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 { } else {
client.emit("warn", "server was deleted but it was not in the cache"); client.emit("warn", "server was deleted but it was not in the cache");
} }