client.on('guildBanAdd', async (ban) => { const user = ban.user; try { console.log(`Tentativo di inviare un DM a ${user.tag}`); const dmChannel = await user.createDM(); const appealButton = new MessageButton() .setCustomId('appealBanButton') .setLabel('Appeal Ban') .setStyle('PRIMARY'); const row = new MessageActionRow().addComponents(appealButton); const appealEmbed = new MessageEmbed() .setColor('#ff0000') .setTitle('Ban Appeal') .setDescription('Sei stato bannato dal server. Se desideri fare appello al tuo ban, per favore clicca il pulsante qui sotto per compilare il modulo.'); await dmChannel.send({ embeds: [appealEmbed], components: [row] }); console.log(`Messaggio DM inviato a ${user.tag}`); } catch (err) { console.error(`Errore durante l'invio del DM a ${user.tag}:`, err); if (err.code === 50007) { console.log(`Impossibile inviare un DM a ${user.tag}. Controlla le impostazioni della privacy.`); const logChannel = client.channels.cache.get('1253280758643036251'); if (logChannel) { logChannel.send(`Non è stato possibile inviare un DM a ${user.tag}. Controlla le impostazioni della privacy.`); } const publicChannel = client.channels.cache.get('1253280758643036251'); if (publicChannel) { publicChannel.send(`${user}, non è possibile inviarti un messaggio privato. Verifica le tue impostazioni di privacy per ricevere l'appello.`); } } else { console.error('Errore sconosciuto durante l\'invio del DM:', err); const logChannel = client.channels.cache.get('1253280758643036251'); if (logChannel) { logChannel.send(`Errore durante l'invio del DM a ${user.tag}: ${err.message}`); } } } });