Files
discord.js/src/client/actions/GuildRoleUpdate.js
2017-04-29 18:07:48 +01:00

42 lines
943 B
JavaScript

const Action = require('./Action');
const Constants = require('../../util/Constants');
const Util = require('../../util/Util');
class GuildRoleUpdateAction extends Action {
handle(data) {
const client = this.client;
const guild = client.guilds.get(data.guild_id);
if (guild) {
const roleData = data.role;
let oldRole = null;
const role = guild.roles.get(roleData.id);
if (role) {
oldRole = Util.cloneObject(role);
role.setup(data.role);
client.emit(Constants.Events.GUILD_ROLE_UPDATE, oldRole, role);
}
return {
old: oldRole,
updated: role,
};
}
return {
old: null,
updated: null,
};
}
}
/**
* Emitted whenever a guild role is updated.
* @event Client#roleUpdate
* @param {Role} oldRole The role before the update.
* @param {Role} newRole The role after the update.
*/
module.exports = GuildRoleUpdateAction;