我如何在 discord.js 中创建基于公会的排行榜命令

时间:2021-07-15 12:55:14

标签: mongodb discord.js

伙计们,我正在为我的经济机器人使用 quickmongo,我想制作一个公会排行榜命令,该命令将仅显示公会中的用户姓名,并且我将数据存储在全球范围内。我之前使用过此代码,但如果该命令在大型服务器中运行,它会使我的机器人崩溃。

let xx = [];
await Promise.all(
    message.guild.members.cache.map(async(member) => {
        let id = member.id;
        let nick = await db.fetch(`nick_${id}`) || member.user.tag;
        let bal = await db.fetch(`mon_${id}`);
        if ((!bal || bal === 0)) return;
            xx.push({ data: bal, ID: `${nick}` });
            console.log(xx);
        })
    );

    let xy = xx.sort((a, b) => b.data - a.data);
    if (xy.lenght < 1) return message.reply('No rich people here -_-');
    xy.length = 5;

    var final = "";
    for (var i in xy) {
        let path = '?️';
        let ind = xy.indexOf(xy[i]) + 1;
        if (ind == 1) path = '?';
        else if (ind == 2) path = '?';
        else if (ind == 3) path = '?';
        final += `${path} **${xy[i].data.toLocaleString()}** - ${xy[i].ID}\n`
    }
);

所以我试图找到一种方法来获得公会排行榜,而无需缓存整个公会。

0 个答案:

没有答案
相关问题