首页 > 解决方案 > Discord.JS 中的排行榜设置错误

问题描述

所以我尝试使用以下代码创建排行榜,但它似乎不想接受这部分:

StatCheck.find({serverID: message.guild.id}).sort([[userStats.level, 'descending']]).exec((err, res) => { ... }

这就是 StatCheck 的必然:

const { StatCheck } = require('./member_stats.json');

“member_stats.json”是我用来为每个用户存储 XP 和级别的文件。

if(command === '!leaderboard'){
  message.delete();
  if (message.channel.id === "876597275856601168"){
    client.channels.cache.get({serverID: message.guild.id}).sort([[userStats.level, 'descending']]).exec((err, res) => {
      if(err) console.log(err);

      let.embed = new MessageEmbed()
      .setTitle("XP Leaderboard")


      if(res.length === 0){  //no results
       embed.setColor("#FF0000")
       embed.addFields("ERROR", "No data found!")
      }else if (res.length < 10){  //<10 results
       embed.setColor("#8F00FF")
       for(i = 0; i < res.length; i++){
         let member = message.guild.members.cache.get(res[i].userid) || "Former Member"
         if(member === "Former Member"){
       embed.addFields(`${i+1}. ${member}`, `Level: ${res[i].level}`)
         } else{
       embed.addFields(`${i+1}. ${member.user.username}`, `Level: ${res[i].level}`)
         }
       }
      } else{  //10+ results
        embed.setColor("#8F00FF")
        for(i = 0; i < 10; i++){
          let member = message.guild.members.cache.get(res[i].userid) || "Former Member"
          if(member === "Former Member"){
        embed.addFields(`${i+1}. ${member}`, `Level: ${res[i].level}`)
          } else{
        embed.addFields(`${i+1}. ${member.user.username}`, `Level: ${res[i].level}`)
          }
        }
      }
    message.channel.send(embed)
    })
    }
  }
       embed.setColor("#8F00FF")
                for(i = 0; i < 10; i++) {
                    let member = message.guild.members.cache.get(res[i].userid) || "Former Member"
                    if(member === "Former Member") {
                        embed.addFields(`${i+1}. ${member}`, `Level: ${res[i].level}`)
                    } else {
                        embed.addFields(`${i+1}. ${member.user.username}`, `Level: ${res[i].level}`)
                    }
                }
            }
            message.channel.send(embed)
        })
    }
}

标签: javascriptdiscord.js

解决方案


推荐阅读