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: 5, 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: [] }); }); }, };