我创建了一个排行榜命令来获得积分最多的前 20 名用户。然而,目前它在一个单一的嵌入中显示所有这些。以后如果我想进入前 50 名,不可能像 iirc 那样只能有 25 个字段。我想做的是为每 10 个用户创建一个页面。其中一些没有意义,因为我只是想获得一些关于如何做的想法。const Discord = require('discord.js');const sqlite = require('sqlite3').verbose();const db = new sqlite.Database('./mbot.db', (err) => { if (err) console.log(err.message);});module.exports = { name: 'leaderboard', description: 'Get up to 20 users with the most points', async execute(message, args, client) { const embeds = []; for (let i = -1; i < 5; i++) { embeds.push(new Discord.RichEmbed()); } for (let i = 0; i < 20; i++) { if (i < 10) { embeds[0].addField('usersthings'); } else if (i < 20) { embeds[1].addField('usersandthings'); } } message.channel.send(embeds[0]); const leaders = await leaderboard(message, client); return message.channel.send(leaders); },};function leaderboard(message, client) { return new Promise((resolve) => { db.all('SELECT points points, id id FROM users ORDER BY points DESC', async (err, rows) => { if (err) return console.log(err); const embed = new Discord.RichEmbed().setTitle('Points Leaderboard'); if (!rows.length) return message.channel.send('No users found!'); const each = new Promise(async (resolve) => { const users = []; rows.forEach((val, i, arr) => { users.push({ id: arr[i].id, points: arr[i].points, }); }); return resolve(users); }); }); });}
添加回答
举报
0/150
提交
取消