mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
* Cleanup Part 2: Electric Boogaloo (Reloaded) * Moar cleanup * Tweak NOT_A_PERMISSION error
35 lines
903 B
JavaScript
35 lines
903 B
JavaScript
const Action = require('./Action');
|
|
const Constants = require('../../util/Constants');
|
|
const cloneObject = require('../../util/CloneObject');
|
|
|
|
class ChannelUpdateAction extends Action {
|
|
handle(data) {
|
|
const client = this.client;
|
|
|
|
const channel = client.channels.get(data.id);
|
|
if (channel) {
|
|
const oldChannel = cloneObject(channel);
|
|
channel.setup(data);
|
|
if (!oldChannel.equals(data)) client.emit(Constants.Events.CHANNEL_UPDATE, oldChannel, channel);
|
|
return {
|
|
old: oldChannel,
|
|
updated: channel,
|
|
};
|
|
}
|
|
|
|
return {
|
|
old: null,
|
|
updated: null,
|
|
};
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Emitted whenever a channel is updated - e.g. name change, topic change.
|
|
* @event Client#channelUpdate
|
|
* @param {Channel} oldChannel The channel before the update
|
|
* @param {Channel} newChannel The channel after the update
|
|
*/
|
|
|
|
module.exports = ChannelUpdateAction;
|