aboutsummaryrefslogtreecommitdiff
path: root/bot/src/events/GuildMemberAdd.js
blob: 902f3abf24939d3ee9ca84fae4fa4b765d28880c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { EmbedBuilder, Events } from 'discord.js';
import { guildSettings } from '../models/guild-settings.js';
import { autoRole, serverWhitelist, roleWhitelist } from '../storage/consts.js';

export default {
    name: Events.GuildMemberAdd,
    async execute(member) {
        if (member.id === member.client.user.id) return;

        try {
            const guildSetting = await guildSettings.findOne({ where: { guildID: member.guild.id } });
            if (!guildSetting || !guildSetting.logChannelID) return;

            const logEmbed = new EmbedBuilder()
                .setAuthor({ name: 'AleeBot Logging', iconURL: member.client.user.avatarURL() })
                .setDescription('A user has joined this server.')
                .addFields(
                    { name: 'Username: ', value: `${member.user}`, inline: true },
                    { name: 'User ID: ', value: `${member.id}`, inline: true },
                    { name: 'Created At: ', value: `${member.user.createdAt.toUTCString()}`}
                )
                .setColor('#4bff31')
                .setTimestamp();

            let guildMember = member.client.channels.cache.get(guildSetting.logChannelID);
            if (!guildMember) return;

            await guildMember.send({ embeds: [logEmbed] });

            // autoban system?

            if (autoRole) {
                if (member.guild.id !== serverWhitelist) return;
                const role = member.guild.roles.cache.get(roleWhitelist);
                member.roles.add(role);
                console.log(`[i] ${member.user.username} joined Andrew Lee Projects, automatically giving them role.`.green);
            }
        } catch (e) {
            console.error(e);
        }

    }
};