1

我想要我的服务器上的用户排行榜,但是 db.startsWith 中出现错误 :(( 可能在新版本 quick.db 中?

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


module.exports.run = async (bot, message, args) => {

  let money = db.startsWith(`money_${message.guild.id}`, { sort: '.data'})
  let content = "";

  for (let i = 0; i < money.length; i++) {
    let user = bot.users.get(money[i].ID.split('_')[2]).username

    content += `${i+1}. ${user} ~ ${money[i].data} монет\n`
  }

  const embed = new Discord.MessageEmbed()
  .setAuthor(`${message.guild.name} - Leaderboard`, message.guild.iconURL)
  .setDescription(content)
  .setColor("RANDOM")

  message.channel.send(embed)

}
4

1 回答 1

1

通过使用 unpkg.com 探索该quick.db软件包,我发现该startsWith功能以及其他一些不推荐使用的功能已在 version 中删除7.0.0-b22来自support.glitch.com的回答中的信息支持了这一点:

当我对那个包执行一个console.log(db)after时,我得到了一个版本,实际上似乎该版本没有导出 startsWith 函数,而确实如此。如果您从版本说明符的开头删除“^”,我认为您当前的代码将起作用,但似乎该功能已被弃用,我可能会找到不同的解决方案require7.0.0b227.0.0b21quick.db

官方文档

all查看所述文档,除了通过该方法获取数据库中的所有条目并手动将返回的数组过滤为所需的条目之外,我找不到其他解决方法。由于文档没有说明从 返回的数组的结构,因此all我无法为您提供帮助-也许您自己的一些实验可能会向您揭示结构?

于 2020-05-20T04:07:10.643 回答