Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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);
- }
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement