if (command === "leaderboard") { const reactions = { PREVIOUS: "◀", NEXT: "▶" }; let index = 0; const length = 10, leaderboard = lvl.all().sort((a, b) => b.data.xp - a.data.xp); const updateEmbed = (embed, index, length) => { const tempLeaderboard = leaderboard.slice(index, index + length); embed.color = 0x00ff00 embed.fields = [{ name: "Rank User", value: tempLeaderboard.map(({ ID }) => `#${leaderboard.findIndex(v => v.ID === ID) + 1} <@${ID}>`).join("\n"), inline: true }, { name: "Level (EXP)", value: tempLeaderboard.map(v => `${v.data.lvl} (${v.data.xp})`).join("\n"), inline: true }]; }; const embed = {}; updateEmbed(embed, index, length); const msg = await message.channel.send({ embed }); for (const entry of Object.values(reactions)) await msg.react(entry); const reactor = msg.createReactionCollector((r, u) => u.id === message.author.id && Object.values(reactions).includes(r.emoji.name), { time: 60000 }); reactor.on("collect", async r => { r.remove(message.author).catch(); if (r.emoji.name === reactions.NEXT) { if (index > length) return; index += length; updateEmbed(embed, index, length); await msg.edit({ embed }).catch(err => { message.reply("du bist zu schnell oder es ist keine Seite mehr vorhanden!") }) } else if (r.emoji.name === reactions.PREVIOUS) { if (index < length) return; index -= length; updateEmbed(embed, index, length); await msg.edit({ embed }).catch(err => { message.reply("du bist zu schnell oder es ist keine Seite mehr vorhanden!") }) } }); reactor.on("end", async () => { try { for(const reaction of msg.reactions.filter(r => r.me).values()) { await reaction.remove(); } } catch(e) { console.log(e); } }) }