UNPKG

selfbot-discord

Version:
43 lines (35 loc) • 1.12 kB
const Action = require('./Action'); const Constants = require('../../util/Constants'); class GuildRoleDeleteAction extends Action { constructor(client) { super(client); this.deleted = new Map(); } handle(data) { const client = this.client; const guild = client.guilds.get(data.guild_id); let role; if (guild) { role = guild.roles.get(data.role_id); if (role) { guild.roles.delete(data.role_id); this.deleted.set(guild.id + data.role_id, role); this.scheduleForDeletion(guild.id, data.role_id); client.emit(Constants.Events.GUILD_ROLE_DELETE, role); } else { role = this.deleted.get(guild.id + data.role_id) || null; } if (role) role.deleted = true; } return { role }; } scheduleForDeletion(guildID, roleID) { this.client.setTimeout(() => this.deleted.delete(guildID + roleID), this.client.options.restWsBridgeTimeout); } } /** * Emitted whenever a guild role is deleted. * @event Client#roleDelete * @param {Role} role The role that was deleted */ module.exports = GuildRoleDeleteAction;