Actually add GUILD_SYNC

This commit is contained in:
Amish Shah
2016-09-03 17:59:10 +01:00
parent 513fdabd19
commit a172fffd76
10 changed files with 69 additions and 6 deletions

View File

@@ -20,6 +20,7 @@ class ActionsManager {
this.register('GuildRoleUpdate');
this.register('UserGet');
this.register('UserUpdate');
this.register('GuildSync');
}
register(name) {

View File

@@ -0,0 +1,29 @@
const Action = require('./Action');
class GuildSync extends Action {
handle(data) {
const client = this.client;
const guild = client.guilds.get(data.id);
if (guild) {
data.presences = data.presences || [];
data.members = data.members || [];
for (const presence of data.presences) {
const user = client.users.get(presence.user.id);
if (user) {
user.status = presence.status;
user.game = presence.game;
}
}
for (const syncMember of data.members) {
const member = guild.members.get(syncMember.user.id);
if (member) {
guild._updateMember(member, syncMember);
}
}
}
}
}
module.exports = GuildSync;