排行榜命令中未定义的用户名 [ quick.db / discord.js ]

Posted

技术标签:

【中文标题】排行榜命令中未定义的用户名 [ quick.db / discord.js ]【英文标题】:Undefined username in leaderboard command [ quick.db / discord.js ] 【发布时间】:2021-03-12 12:19:24 【问题描述】:

我尝试使用 quick.db 为我的 Discord.js 机器人创建排行榜命令,但它不起作用。 它回复未定义的用户和类似的东西!

var money = await db.all(`money_$message.guild.id`,  sort: ".data" );
    
let resp = "";
for (let i = 0; i < money.length; i++) 
    let user = client.users.cache.get(money[i].ID.split("_")[1]);
    resp += `$i + 1. $user - $money[i].data$\n`;

    
return message.channel.send(
    new Discord.MessageEmbed().setAuthor(`Leaderboard`).setDescription(resp)
);
    

这里是代码^^^^

这是命令的输出

【问题讨论】:

【参考方案1】:

这意味着money[i].ID.split("_")[1] 不是有效的ID。您是否考虑过在循环中记录这些值以检查您存储的数据的有效性?

【讨论】:

以上是关于排行榜命令中未定义的用户名 [ quick.db / discord.js ]的主要内容,如果未能解决你的问题,请参考以下文章

我如何循环遍历数据库中的每个公会成员(quick.db)

如何检查用户是不是在公会中

使用 quick.db 设置描述

将用户名存储在 quick.db 数据库中

Quick.db unwarn 命令取消警告成员中的所有警告

使用 quick.db 存储用户名更改历史