fix the forceFetch fix

This commit is contained in:
abalabahaha
2016-04-12 23:07:40 -07:00
parent 71dd084667
commit 675ea93bc3
2 changed files with 48 additions and 82 deletions

View File

@@ -390,24 +390,26 @@ var InternalClient = (function () {
// Backwards-compatible utility getter method for the first voice connection // Backwards-compatible utility getter method for the first voice connection
// Thanks to #q (@qeled) for suggesting this // Thanks to #q (@qeled) for suggesting this
InternalClient.prototype.getGuildMembers = function getGuildMembers(guildID, chunkCount) { InternalClient.prototype.getGuildMembers = function getGuildMembers(serverID, chunkCount) {
this.forceFetchCount[guildID] = chunkCount; this.forceFetchCount[serverID] = chunkCount;
if (this.forceFetchLength + 3 + guildID.length > 4082) { if (this.forceFetchLength + 3 + serverID.length > 4082) {
// 4096 - '{"op":8,"d":[]}'.length + 1 for lazy comma offset // 4096 - '{"op":8,"d":[]}'.length + 1 for lazy comma offset
this.requestGuildMembers(this.forceFetchQueue); this.requestGuildMembers(this.forceFetchQueue);
this.forceFetchQueue = [guildID]; this.forceFetchQueue = [serverID];
this.forceFetchLength = 1 + guildID.length + 3; this.forceFetchLength = 1 + serverID.length + 3;
} else { } else {
this.forceFetchQueue.push(guildID); this.forceFetchQueue.push(serverID);
this.forceFetchLength += guildID.length + 3; this.forceFetchLength += serverID.length + 3;
} }
}; };
InternalClient.prototype.requestGuildMembers = function requestGuildMembers(guildID, query, limit) { InternalClient.prototype.requestGuildMembers = function requestGuildMembers(serverID, query, limit) {
this.sendWS(OPCodes.GET_GUILD_MEMBERS, { this.sendWS({ op: 8,
guild_id: guildID, d: {
query: query || "", guild_id: serverID,
limit: limit || 0 query: query || "",
limit: limit || 0
}
}); });
}; };
@@ -424,7 +426,7 @@ var InternalClient = (function () {
} }
} }
this.readyTime = Date.now(); this.readyTime = Date.now();
client.emit("ready"); this.client.emit("ready");
} }
} }
}; };
@@ -1561,7 +1563,7 @@ var InternalClient = (function () {
self.getGuildMembers(server.id, Math.ceil(server.memberCount / 1000)); self.getGuildMembers(server.id, Math.ceil(server.memberCount / 1000));
} }
} else { } else {
client.emit("warn", "server " + guild.id + " was unavailable, could not create (ready)"); client.emit("warn", "server " + server.id + " was unavailable, could not create (ready)");
} }
}); });
data.private_channels.forEach(function (pm) { data.private_channels.forEach(function (pm) {
@@ -2120,33 +2122,14 @@ var InternalClient = (function () {
server.members.add(self.users.add(new _StructuresUser2["default"](user.user, client))); server.members.add(self.users.add(new _StructuresUser2["default"](user.user, client)));
} }
xxxx; if (_this39.forceFetchCount.hasOwnProperty(guild.id)) {
xxxx; if (_this39.forceFetchCount[guild.id] <= 1) {
xxxx; delete _this39.forceFetchCount[guild.id];
xxxx; _this39.checkReady();
xxxx; } else {
xxxx; _this39.forceFetchCount[guild.id]--;
xxxx; }
xxxx; }
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
xxxx;
client.emit("debug", new Date().getTime() - testtime + "ms for " + data.members.length + " user chunk for server with id " + server.id); client.emit("debug", new Date().getTime() - testtime + "ms for " + data.members.length + " user chunk for server with id " + server.id);
} else { } else {

View File

@@ -313,23 +313,25 @@ export default class InternalClient {
return this.voiceConnections[0]; return this.voiceConnections[0];
} }
getGuildMembers(guildID, chunkCount) { getGuildMembers(serverID, chunkCount) {
this.forceFetchCount[guildID] = chunkCount; this.forceFetchCount[serverID] = chunkCount;
if(this.forceFetchLength + 3 + guildID.length > 4082) { // 4096 - '{"op":8,"d":[]}'.length + 1 for lazy comma offset if(this.forceFetchLength + 3 + serverID.length > 4082) { // 4096 - '{"op":8,"d":[]}'.length + 1 for lazy comma offset
this.requestGuildMembers(this.forceFetchQueue); this.requestGuildMembers(this.forceFetchQueue);
this.forceFetchQueue = [guildID]; this.forceFetchQueue = [serverID];
this.forceFetchLength = 1 + guildID.length + 3; this.forceFetchLength = 1 + serverID.length + 3;
} else { } else {
this.forceFetchQueue.push(guildID); this.forceFetchQueue.push(serverID);
this.forceFetchLength += guildID.length + 3; this.forceFetchLength += serverID.length + 3;
} }
} }
requestGuildMembers(guildID, query, limit) { requestGuildMembers(serverID, query, limit) {
this.sendWS(OPCodes.GET_GUILD_MEMBERS, { this.sendWS({op: 8,
guild_id: guildID, d: {
query: query || "", guild_id: serverID,
limit: limit || 0 query: query || "",
limit: limit || 0
}
}); });
} }
@@ -346,7 +348,7 @@ export default class InternalClient {
} }
} }
this.readyTime = Date.now(); this.readyTime = Date.now();
client.emit("ready"); this.client.emit("ready");
} }
} }
} }
@@ -1322,7 +1324,7 @@ export default class InternalClient {
self.getGuildMembers(server.id, Math.ceil(server.memberCount / 1000)); self.getGuildMembers(server.id, Math.ceil(server.memberCount / 1000));
} }
} else { } else {
client.emit("warn", "server " + guild.id + " was unavailable, could not create (ready)"); client.emit("warn", "server " + server.id + " was unavailable, could not create (ready)");
} }
}); });
data.private_channels.forEach(pm => { data.private_channels.forEach(pm => {
@@ -1815,33 +1817,14 @@ export default class InternalClient {
server.members.add(self.users.add(new User(user.user, client))); server.members.add(self.users.add(new User(user.user, client)));
} }
xxxx if(this.forceFetchCount.hasOwnProperty(guild.id)) {
xxxx if(this.forceFetchCount[guild.id] <= 1) {
xxxx delete this.forceFetchCount[guild.id];
xxxx this.checkReady();
xxxx } else {
xxxx this.forceFetchCount[guild.id]--;
xxxx }
xxxx }
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
client.emit("debug", (new Date().getTime() - testtime) + "ms for " + data.members.length + " user chunk for server with id " + server.id); client.emit("debug", (new Date().getTime() - testtime) + "ms for " + data.members.length + " user chunk for server with id " + server.id);