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

67 lines
1.7 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: [] });
});
},
};