const { logRoleChange } = require('./logger'); /** * Detect server boost changes via guildMemberUpdate. * If a member starts boosting → add Booster role. * If a member stops boosting → remove Booster role. */ async function handleBoostChange(oldMember, newMember, client) { const wasBoosting = oldMember.premiumSince !== null; const isBoosting = newMember.premiumSince !== null; if (wasBoosting === isBoosting) return; // No change const boosterRole = newMember.guild.roles.cache.find(r => r.name === '@@ Booster'); if (!boosterRole) return; if (!wasBoosting && isBoosting) { // Started boosting await newMember.roles.add(boosterRole).catch(() => { }); await logRoleChange(client, { user: newMember.user, role: 'Booster', action: 'added', }); } else if (wasBoosting && !isBoosting) { // Stopped boosting await newMember.roles.remove(boosterRole).catch(() => { }); await logRoleChange(client, { user: newMember.user, role: 'Booster', action: 'removed', }); } } module.exports = { handleBoostChange };