Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const {
- ActionRowBuilder,
- ButtonBuilder,
- ButtonStyle,
- ComponentType,
- EmbedBuilder,
- PermissionsBitField,
- SlashCommandBuilder,
- } = require('discord.js');
- const mConfig = require('../../utils/messageConfig.json');
- const eConfig = require('../../utils/emoji.json');
- const leader = require('../../Schemas/leaderSchema');
- module.exports = {
- data: new SlashCommandBuilder()
- .setName('leaderboard')
- .setDescription('TGR Leaderboard')
- .setDMPermission(false),
- async execute(interaction) {
- await interaction.deferReply({ ephemeral: true });
- const { options } = interaction;
- async function total() {
- var data = await leader.find({Guild: interaction.guild.id});
- var standings = [];
- await data.forEach(async d => {
- standings.push({
- setter: d.Setter,
- relics: d.Relics,
- fillers: d.Fillers
- });
- });
- return standings;
- }
- async function lbSetter(setter) {
- var data = await leader.find({Guild: interaction.guild.id});
- if (!data) return 'No Data Found';
- if (setter) {
- var standings = await total();
- standings.sort((a, b) => b.relics - a.relics);
- return standings.findIndex((item) => item.setter === setter) + 1;
- }
- }
- const data = await leader.findOne({Guild: interaction.guild.id});
- if (!data) return await interaction.editReply('There Appears to be 0 Submissions Yet');
- else {
- var lBoard = await total();
- lBoard.sort((a, b) => b.relics - a.relics)
- var output = lBoard.slice(0, 5);
- var string;
- var num = 1;
- await output.forEach(async value => {
- const member = await interaction.guild.members.cache.get(value.setter);
- string += `#${num} **Setter:** **${member.user.username}**, Relics: \`${value.relics}\`\n*w/* *${value.fillers}*\n`;
- num++;
- });
- string = string.replace('undefined', '');
- const embed = new EmbedBuilder()
- .setColor(`${mConfig.PeachEmbed}`)
- .setTitle(`${interaction.guild.name}'s BG Leaderboard`)
- .setDescription(`${string}`);
- await interaction.editReply('Leaderboard Sent Below');
- await interaction.followUp({embeds: [embed]});
- }
- },
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement