Files
bot-discord-coins/commands/bot control/servers.js
T
2024-05-26 19:56:11 +02:00

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