add member chunks

This commit is contained in:
hydrabolt
2016-02-12 22:07:56 +00:00
parent f0c719cf71
commit 54045de5f1
8 changed files with 97 additions and 3 deletions

View File

@@ -675,6 +675,12 @@ var Client = (function (_EventEmitter) {
return this.setStatus(null, game, callback);
};
//def forceFetchUsers
Client.prototype.forceFetchUsers = function forceFetchUsers() {
return this.internal.forceFetchUsers();
};
_createClass(Client, [{
key: "users",
get: function get() {

View File

@@ -319,6 +319,21 @@ var InternalClient = (function () {
});
};
// def forceFetchUsers
InternalClient.prototype.forceFetchUsers = function forceFetchUsers() {
this.sendWS({
op: 8,
d: {
guild_id: this.servers.map(function (srv) {
return srv.id;
}),
query: "",
limit: 0
}
});
};
// def createServer
InternalClient.prototype.createServer = function createServer(name) {
@@ -1717,14 +1732,18 @@ var InternalClient = (function () {
var user = self.users.get("id", data.user_id);
var server = self.servers.get("id", data.guild_id);
console.log("2 meowwww");
if (user && server) {
console.log("1 meowwww");
if (data.channel_id) {
// in voice channel
console.log("meowwww");
var channel = self.channels.get("id", data.channel_id);
if (channel && channel.type === "voice") {
server.eventVoiceStateUpdate(channel, user, data);
} else {
console.log("mewarnow");
client.emit("warn", "voice state channel not in cache");
}
} else {
@@ -1735,6 +1754,33 @@ var InternalClient = (function () {
client.emit("warn", "voice state update but user or server not in cache");
}
break;
case _Constants.PacketType.SERVER_MEMBERS_CHUNK:
var server = self.servers.get("id", data.guild_id);
if (server) {
for (var _iterator6 = data.members, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
var _ref6;
if (_isArray6) {
if (_i6 >= _iterator6.length) break;
_ref6 = _iterator6[_i6++];
} else {
_i6 = _iterator6.next();
if (_i6.done) break;
_ref6 = _i6.value;
}
var user = _ref6;
server.members.add(self.users.get("id", user.id) || self.users.add(new _StructuresUser2["default"](user, client)));
}
} else {
client.emit("warn", "chunk update received but server not in cache");
}
break;
default:
client.emit("unknown", packet);