Files
bot-discord-coins/commands/bot control/servers.js
T

48 lines
1.6 KiB
JavaScript

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