You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.9 KiB

const {Command, Random} = require('../../lib.js')
const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js');
class Guilds extends Command
{
constructor(client)
{
super(client, {
name: 'guilds',
group:'admin',
memberName: 'guilds',
description: 'Shows a list of guilds that are using Rem-chan.'
})
this.client = client;
}
async run(message, args)
{
const payload = {embeds:[]}
var i = 0;
for (const guild of this.client.guilds.cache)
{
if (!payload.embeds[Math.floor(i / 25)])
{
payload.embeds.push(
new EmbedBuilder()
.setTitle('Servers hosting Rem-chan:')
.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png"})
.setColor(0xd31f1f)
.setFooter({text:'Rem-chan em ', iconURL:"https://i.imgur.com/g6FSNhL.png"})
.setTimestamp()
)
}
payload.embeds[Math.floor(i/25)].addFields({name:guild[1].name, value:'With '+guild[1].members.cache.size+' Members'})
i++;
}
const costumID = Random();
const row = new ActionRowBuilder()
.addComponents(
new ButtonBuilder()
.setCustomId(costumID)
.setLabel('Remove this.')
.setStyle(ButtonStyle.Primary),
);
await message.channel.send({ephemeral: true, embeds: payload.embeds, components: [row] });
const filter = i => i.customId === costumID;
const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 });
collector.on('collect', async m =>
{
message.delete();
m.message.delete();
});
}
}module.exports = Guilds;