gpt4 book ai didi

node.js - discord.js - 排行榜/顶部命令显示错误顺序

转载 作者:行者123 更新时间:2023-12-03 22:24:47 25 4
gpt4 key购买 nike

我最近遇到了很多麻烦,排行榜命令以错误的顺序显示用户。
我正在使用 DiscordJS 主分支和 Sequelize v6
这是我所描述的图像:
Leaderboard

Leaderboard command file:


const { MessageEmbed } = require("discord.js");

exports.run = async (client, message, args) => {
const { Users } = require("../functions/database");

let users = await Users.findAll({ limit: 10, order: [['count', 'DESC']] });
for (const user of users) {
await client.users.fetch(user.userid);
}
let embed = new MessageEmbed()
.setAuthor("Middleman Leaderboard", `${client.user.displayAvatarURL({ dynamic: true })}`)
.setDescription(users.map((user, position) => `**${position + 1}**. ${(client.users.cache.get(user.userid).username)}: ${user.count} Points`))
.setThumbnail('https://i.ibb.co/ByRSBmB/hp.png')
.setColor("#d70069");
await message.reply(embed)
}

Sequelize database model:


const Users = sequelize.define('users', {
userid: {
type: Sequelize.INTEGER,
},
count: Sequelize.INTEGER,
});

exports.Users = Users;
请注意,这在很大程度上是一个概念证明,而不是用于生产。
任何帮助表示赞赏!

最佳答案

这是来自 discordjs.guide 的解决方案:

users.sort((a, b) => b.balance - a.balance)
.filter(user => client.users.cache.has(user.user_id))
.first(10)
.map((user, position) => `(${position + 1}) ${(client.users.cache.get(user.user_id).tag)}: ${user.balance}💰`)
.join('\n'),

关于node.js - discord.js - 排行榜/顶部命令显示错误顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65572908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com