33 lines
955 B
JavaScript
33 lines
955 B
JavaScript
|
|
'use strict';
|
||
|
|
|
||
|
|
const Action = require('./Action');
|
||
|
|
const Events = require('../../util/Events');
|
||
|
|
|
||
|
|
class GuildScheduledEventUserRemoveAction extends Action {
|
||
|
|
handle(data) {
|
||
|
|
const client = this.client;
|
||
|
|
const guild = client.guilds.cache.get(data.guild_id);
|
||
|
|
|
||
|
|
if (guild) {
|
||
|
|
const guildScheduledEvent = this.getScheduledEvent(data, guild);
|
||
|
|
const user = this.getUser(data);
|
||
|
|
|
||
|
|
if (guildScheduledEvent && user) {
|
||
|
|
/**
|
||
|
|
* Emitted whenever a user unsubscribes from a guild scheduled event
|
||
|
|
* @event Client#guildScheduledEventUserRemove
|
||
|
|
* @param {GuildScheduledEvent} guildScheduledEvent The guild scheduled event
|
||
|
|
* @param {User} user The user who unsubscribed
|
||
|
|
*/
|
||
|
|
client.emit(Events.GuildScheduledEventUserRemove, guildScheduledEvent, user);
|
||
|
|
|
||
|
|
return { guildScheduledEvent, user };
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
return {};
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
module.exports = GuildScheduledEventUserRemoveAction;
|