import { Events } from 'discord.js'; import { withConn } from '../db/pool.js'; async function getLogsChannelId(guildId) { const row = await withConn(async (conn) => { const rows = await conn.query('SELECT logs_enabled, logs_channel_id FROM guild_config WHERE guild_id = ? LIMIT 1', [guildId]); return rows[0]; }); if (!row?.logs_enabled || !row.logs_channel_id) return null; return row.logs_channel_id; } export function registerModerationLogs(client) { client.on(Events.GuildBanAdd, async (ban) => { const channelId = await getLogsChannelId(ban.guild.id); if (!channelId) return; const channel = ban.guild.channels.cache.get(channelId); if (!channel || !('send' in channel)) return; await channel.send(`User banned: <@${ban.user.id}>`); }); client.on(Events.GuildMemberRemove, async (member) => { const channelId = await getLogsChannelId(member.guild.id); if (!channelId) return; const channel = member.guild.channels.cache.get(channelId); if (!channel || !('send' in channel)) return; await channel.send(`Member left or was kicked: <@${member.id}>`); }); }