mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-12 01:23:31 +01:00
Fix READY bug when logging in with email/password, add UserUpdate packet handler
This commit is contained in:
42
src/client/websocket/packets/handlers/UserUpdate.js
Normal file
42
src/client/websocket/packets/handlers/UserUpdate.js
Normal 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;
|
||||
Reference in New Issue
Block a user