Я пытаюсь создать команду списка лидеров для своего бота Discord, и у меня возникают проблемы с отображением данных, мой текущий код отображает только верхнего пользователя, вы можете видеть на изображении 4 строки, это потому, что есть 4 записи в базе данных, поэтому она получает информацию, но не отображает все данные. Может ли кто-нибудь указать, что я делаю неправильно / что мне нужно изменить, чтобы это исправить. (Блокированные биты на фотографиях - это мое имя пользователя) Код:
const top10 = db
.prepare(
'SELECT * FROM scores WHERE guild = ? ORDER BY points DESC LIMIT 10;',
)
.all(message.guild.id);
if (!top10) {
return;
}
for (const data of top10) {
let userNames = '';
for (let i = 0; i < top10.length; i++) {
const user = bot.users.cache.get(data.user).tag;
userNames += `\`${i + 1}\` ${user}\n`;
}
const level = `\`${data.level}\`\n`;
const xp = `\`${data.points.toLocaleString('en')}\`\n`;
const embed = new MessageEmbed()
.setAuthor(`Leaderboard for ${message.guild.name}`, message.guild.iconURL({ dynamic: true }))
.setColor(0x51267)
.addFields({ name: 'Top 10', value: userNames, inline: true },
{ name: 'Level', value: level, inline: true },
{ name: 'XP', value: xp, inline: true });
message.channel.send(embed);
return;
}
Текущий вывод: Желаемый вывод: