Added ClientUser modification support

This commit is contained in:
hydrabolt
2016-05-01 21:12:42 +01:00
parent f95c588d87
commit ebfc2169d5
10 changed files with 143 additions and 19 deletions

View File

@@ -3,6 +3,7 @@
const AbstractHandler = require('./AbstractHandler');
const Structure = name => require(`../../../../structures/${name}`);
const CloneObject = name => require(`../../../../util/CloneObject`);
const Constants = require(`../../../../util/Constants`);
const ClientUser = Structure('ClientUser');
const Guild = Structure('Guild');
@@ -18,22 +19,7 @@ class UserUpdateHandler extends AbstractHandler {
let data = packet.d;
let client = this.packetManager.client;
let user = client.store.user;
if (!user) {
return;
}
let oldUser = CloneObject(user);
user.username = data.username || user.username;
user.id = data.id || user.id;
user.avatar = data.avatar || user.avatar;
user.discriminator = data.discriminator || user.discriminator;
user.email = data.email || user.email;
user.verified = data.verified || user.verified;
client.emit(Constants.Events.USER_UPDATE, oldUser, user);
let response = client.actions.UserUpdate.handle(data);
}