nyx/command/Economy/rich.js

48 lines
1.4 KiB
JavaScript
Raw Normal View History

2021-09-06 12:38:25 +02:00
const { Collection, MessageEmbed } = require("discord.js");
module.exports = {
name: "rich",
description: "Displaying top 10 richest users.",
category: "Economy",
timeout: 4000,
run: async (client, interaction) => {
2021-09-06 12:38:25 +02:00
const collection = new Collection();
await Promise.all(
interaction.guild.members.cache.map(async member => {
const id = member.id;
const bal = await client.bal(id);
if (!bal) return;
return bal !== 0
? collection.set(id, {
id,
bal,
})
: null;
})
);
if (!collection) {
return interaction.followUp({
2021-09-06 12:38:25 +02:00
content: `None of the members got ${client.currency}!`,
});
}
2021-09-06 12:38:25 +02:00
const ata = collection.sort((a, b) => b.bal - a.bal).first(10);
interaction.followUp({
2021-09-06 12:38:25 +02:00
embeds: [
new MessageEmbed()
.setTitle(`Richest users in ${interaction.guild.name}`)
.setDescription(
ata
.map((v, i) => {
return `**${i + 1}** ${
2021-09-06 12:38:25 +02:00
interaction.guild.members.cache.get(v.id).user.tag
} = **${v.bal} ${client.currency}**`;
2021-09-06 12:38:25 +02:00
})
.join("\n")
)
.setFooter(`Made by ${client.author}`, client.user.displayAvatarURL())
2021-09-06 12:38:25 +02:00
.setTimestamp()
.setColor(client.color),
],
});
},
};