1 |
import BaseEvent from '../../utils/structures/BaseEvent'; |
2 |
import DiscordClient from '../../client/Client'; |
3 |
import { GuildMember } from 'discord.js'; |
4 |
import UnverifiedMember from '../../models/UnverifiedMember'; |
5 |
|
6 |
export default class GuildMemberRemoveEvent extends BaseEvent { |
7 |
constructor() { |
8 |
super('guildMemberRemove'); |
9 |
} |
10 |
|
11 |
async run(client: DiscordClient, member: GuildMember) { |
12 |
if (member.user.id === client.user!.id) |
13 |
return; |
14 |
|
15 |
await client.logger.logLeft(member); |
16 |
|
17 |
if (member.user.bot) |
18 |
return; |
19 |
|
20 |
await client.autoClear.start(member, member.guild); |
21 |
|
22 |
const verificationData = await UnverifiedMember.findOne({ |
23 |
where: { |
24 |
guild_id: member.guild.id, |
25 |
user_id: member.id, |
26 |
status: 'pending' |
27 |
} |
28 |
}); |
29 |
|
30 |
if (verificationData) { |
31 |
await verificationData.set('status', 'canceled'); |
32 |
await verificationData.save(); |
33 |
} |
34 |
} |
35 |
} |