const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js'); const embedColor = require('../../fonctions/embedColor.js'); module.exports = { aliases: ['srvs'], description: 'Affiche la liste des serveurs où le bot est présent', emote: '🌐', utilisation: '', permission: 10, async execute(message, args, client) { const embed = new EmbedBuilder() .setTitle('Liste des serveurs') .setDescription(client.guilds.cache.map(guild => `${guild.name} (ID: ${guild.id})`).join('\n')) .setColor(await embedColor(message.author.id, message.guild.id)); const ping = new ButtonBuilder() .setCustomId('confirm') .setLabel('🔄') .setStyle(ButtonStyle.Primary); const row = new ActionRowBuilder() .addComponents(ping); const sentMessage = await message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } }); const filter = i => i.customId === 'confirm' && i.user.id === message.author.id; const collector = sentMessage.createMessageComponentCollector({ filter, time: 60000 }); collector.on('collect', async (interaction) => { embed.setDescription(client.guilds.cache.map(guild => `${guild.name} (ID: ${guild.id})`).join('\n')); sentMessage.edit({ embeds: [embed], components: [row], }); interaction.reply({ content: 'La liste des serveurs a été rafraichie', ephemeral: true }); }); collector.on('end', () => { sentMessage.edit({ components: [] }); }); } };