Data.find({ lb: "all" }).sort([ ['money', 'descending'], ['bank', 'descending'] ]).exec(async (err, res) => { if (err) console.log(err); res.sort((a, b) => (b.money + b.bank) - (a.money + a.bank)) var page = Math.ceil(res.length / 10); const embed = new MessageEmbed() .setColor(black) .setTitle("Leaderboard") let pg = parseInt(args[0]); if (pg != Math.floor(pg)) pg = 1; if (!pg) pg = 1; let end = pg * 10; let start = (pg * 10) - 10; const emojis = ["🥇", "🥈", "🥉"]; const badge = [goldenspoon]; let rank = 0; function ordinal_suffix_of(i) { var j = i % 10, k = i % 100; if (j == 1 && k != 11) { return i.toLocaleString() + "st"; } else if (j == 2 && k != 12) { return i.toLocaleString() + "nd"; } else if (j == 3 && k != 13) { return i.toLocaleString() + "rd"; }; return i.toLocaleString() + "th"; }; if (res.length === 0) { embed.addField("**Error**", "No pages found!"); } else if (res.length <= start) { embed.addField("**Error**", "Page not found!"); } else if (res.length <= end) { for (i = start; i < res.length; i++) { if (res[i].userID === message.author.id) rank = ordinal_suffix_of(i + 1); embed.addField(`${1 > i ? `${badge[i]}` : ""} ${3 > i ? `${emojis[i]}` : ""} ${i + 1}. ${(await bot.users.fetch(res[i].userID))?.username ?? res[i].name}`, `$${Math.floor((res[i].money + res[i].bank)).toLocaleString()}`); }; embed.setFooter(`Page ${pg} out of ${page}.\nYou are currently the ${rank}.`); } else { for (i = start; i < end; i++) { if (res[i].userID === message.author.id) rank = ordinal_suffix_of(i + 1); embed.addField(`${1 > i ? `${badge[i]}` : ""} ${3 > i ? `${emojis[i]}` : ""} ${i + 1}. ${(await bot.users.fetch(res[i].userID))?.username ?? res[i].name}`, `$${Math.floor((res[i].money + res[i].bank)).toLocaleString()}`); }; embed.setFooter(`Page ${pg} out of ${page}.\nYou are currently the ${rank}.`); }; return await message.channel.send(embed); });