Fix READY bug when logging in with email/password, add UserUpdate packet handler

This commit is contained in:
hydrabolt
2016-04-17 18:37:15 +01:00
parent abc3f9e2fa
commit 685d7b622c
5 changed files with 50 additions and 3 deletions

View File

@@ -0,0 +1,42 @@
'use strict';
const AbstractHandler = require('./AbstractHandler');
const Structure = name => require(`../../../../structures/${name}`);
const CloneObject = name => require(`../../../../util/CloneObject`);
const ClientUser = Structure('ClientUser');
const Guild = Structure('Guild');
const DMChannel = Structure('DMChannel');
class UserUpdateHandler extends AbstractHandler {
constructor(packetManager) {
super(packetManager);
}
handle(packet) {
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);
}
};
module.exports = UserUpdateHandler;