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

@@ -0,0 +1,44 @@
'use strict';
const Action = require('./Action');
const Constants = require('../../util/Constants');
const CloneObject = require('../../util/CloneObject');
const Message = require('../../structures/Message');
class UserUpdateAction extends Action {
constructor(client) {
super(client);
}
handle(data) {
let client = this.client;
if (client.store.user) {
if (client.store.user.equals(data)) {
return {
old: client.store.user,
updated: client.store.user,
};
}
let oldUser = CloneObject(client.store.user);
client.store.user.setup(data);
client.emit(Constants.Events.USER_UPDATE, oldUser, client.store.user);
return {
old: oldUser,
updated: client.store.user,
};
}
return {
old: null,
updated: null,
};
}
};
module.exports = UserUpdateAction;