0

我正在尝试使用 quick.db 制作排行榜,我希望它遍历所有变量,并获取所有变量,money_${message.guild.id}_并返回其余的 var 名称及其数量

let list = []

db.all().forEach(elem => {        
  if(elem.startsWith(`money_${message.guild.id}_`)) {
     board.push(list);
  }
});

message.channel.send(list.join("\n"))

我得到的错误elem.startsWith不是函数

4

1 回答 1

0

我有办法让它工作

const db = require("quick.db");
const Discord = require('discord.js');

module.exports.run = (client, message, args) => {
    var roles = [message.Guild.cache.roles.array()];
    var rolesAmount = roles.length;
  //   
    let mes = [];
  
    for (let i = 0; i < rolesAmount; i++) {
      var amount = db.fetch(`roles_${message.guild.id}_${roles[i].id}`);
  
      if (amount == null) return;
      if (amount == "revoved") return;
  
      mes.push({ name: roles[i].user.username, amount: amount });
    }
  
    mes.sort((a, b) => b.amount - a.amount);

    var realArr = []

    mes.forEach(m => realArr.push(`${m.name} - ${m.amount}`));
    var finalLb = realArr.join("\n")

    let embed = new Discord.MessageEmbed()
    .setTitle(`**${message.guild.name}** LeaderBoard`)
    .setDescription(finalLb)
    .setColor("FFFFFC")

    message.channel.send(embed)
};
于 2020-07-24T13:35:25.463 回答