【发布时间】:2021-04-10 20:23:59
【问题描述】:
我最近在排行榜命令中以错误的顺序显示用户时遇到了很多麻烦。
我正在使用 DiscordJS 主分支和 Sequelize v6
排行榜命令文件:
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 数据库模型:
const Users = sequelize.define('users', {
userid: {
type: Sequelize.INTEGER,
},
count: Sequelize.INTEGER,
});
exports.Users = Users;
请注意,这在很大程度上是概念验证,而不是用于生产。 任何帮助表示赞赏!
【问题讨论】:
标签: node.js sequelize.js discord.js