首页 > 解决方案 > 如何使用 Discord XP 制作一个非常漂亮的排行榜

问题描述

这是我当前的代码,它非常基本,我很想知道如何制作这样的排行榜:

const Discord = require("discord.js");
const Levels = require("discord-xp");
module.exports.run = async (client, message, args, queue, searcher) => {
    const rawLeaderboard = await Levels.fetchLeaderboard(message.guild.id, 5);
    if (rawLeaderboard.length < 1) return reply("Nobody's in leaderboard yet.");

    const leaderboard = await Levels.computeLeaderboard(client, rawLeaderboard);

    const lb = leaderboard.map((e) => `${e.position}. ${e.username}#${e.discriminator}\nLevel: ${e.level}\nXP: ${e.xp.toLocaleString()}`);

    message.channel.send(`${lb.join("\n\n")}}`);
};

module.exports.config = {
    name: "leaderboard",
    aliases: ["lb"],
};

标签: javascriptnode.jsmongoosediscorddiscord.js

解决方案


我刚刚得到了上述问题的答案,并想帮助你解决这个问题,因为我必须进行大量搜索才能得到答案。

我使用下面的代码来获得一个不错的排行榜,并在排行榜中标记用户:

const lb = leaderboard.map(e => `**#${e.position}** **<@${e.userID}>**\nLevel: \`${e.level}\`\nXP: \`${(e.xp - Levels.xpFor(e.level))}/${(Levels.xpFor(e.level + 1) - Levels.xpFor(e.level))}\``)

让我知道它是否是您正在寻找的修复程序!


推荐阅读