import { Events, GuildMember, TextChannel, EmbedBuilder } from 'discord.js'; export default { name: Events.GuildMemberAdd, async execute(member: GuildMember) { const DB = (member.client as any).DB; const guildId = member.guild.id; const settings: any = DB.get('SELECT * FROM guild_settings WHERE guild_id = ?', guildId); // Use custom channel or fall back to Discord's system channel const channelId = settings?.welcome_channel || member.guild.systemChannelId; if (!channelId || !settings?.welcome_message) { return; } const channel = member.guild.channels.cache.get(channelId); if (!channel || !channel.isTextBased()) { return; } const message = settings.welcome_message .replace(/{user}/g, `<@${member.id}>`) .replace(/{username}/g, member.user.username) .replace(/{server}/g, member.guild.name) .replace(/{membercount}/g, member.guild.memberCount.toString()); try { await (channel as TextChannel).send(message); } catch (error) { console.error('[WELCOME] Error sending welcome message:', error); } }, };