track new users from presence

This commit is contained in:
hydrabolt
2016-02-12 21:39:34 +00:00
parent abde946864
commit 60587c8d74
3 changed files with 15 additions and 7 deletions

View File

@@ -1641,9 +1641,13 @@ var InternalClient = (function () {
break;
case _Constants.PacketType.PRESENCE_UPDATE:
var user = self.users.get("id", data.user.id);
var user = self.users.add(new _StructuresUser2["default"](data.user, client));
var server = self.servers.get("id", data.guild_id);
if (user && server) {
server.members.add(user);
if (user) {
data.user.username = data.user.username || user.username;
data.user.id = data.user.id || user.id;
data.user.avatar = data.user.avatar || user.avatar;
@@ -1658,7 +1662,7 @@ var InternalClient = (function () {
self.users.update(user, presenceUser);
}
} else {
client.emit("warn", "presence update but user not in cache");
client.emit("warn", "presence update but user/server not in cache");
}
break;

View File

@@ -1429,9 +1429,13 @@ export default class InternalClient {
break;
case PacketType.PRESENCE_UPDATE:
var user = self.users.get("id", data.user.id);
var user = self.users.add(new User(data.user, client));
var server = self.servers.get("id", data.guild_id);
if (user && server) {
server.members.add(user);
if (user) {
data.user.username = data.user.username || user.username;
data.user.id = data.user.id || user.id;
data.user.avatar = data.user.avatar || user.avatar;
@@ -1447,7 +1451,7 @@ export default class InternalClient {
}
} else {
client.emit("warn", "presence update but user not in cache");
client.emit("warn", "presence update but user/server not in cache");
}
break;

View File

@@ -83,6 +83,6 @@ client.on("debug", msg => console.log("[debug]", msg));
client.login(process.env["ds_email"], process.env["ds_password"]).catch(console.log);
client.on("presence", (old, news) => console.log(`PRESENCE TEST ${old.username} $$ ${news.username}`))
var chan1, chan2;
var msg1, msg2;