Discord.js |显示来自 ID returns 未定义的用户名
Discord.js | Displaying a username from an ID returns undefined
我目前正在更改服务器的排行榜命令以显示在 Canvas 上,而不是嵌入。我 运行 遇到的一个问题是,因为它不是嵌入,所以抓取用户 ID 然后用 <@userid>
显示他们的用户名不再有效,代码只是 returns 纯文本的 ID。我正在寻找解决此问题的解决方案。这是我现在拥有的代码:
for (var i in money) {
let user = client.users.cache.get(`${money[i].ID.slice(25)}`);
finalLb += `${money.indexOf(money[i])+1} ${user} \`${money[i].data} credits\`\n`;
console.log(user)
}
代码结果
当我控制台记录用户变量时,我得到了他们的所有信息,包括用户名。
我试过 user.username,但收到错误 Cannot read property 'username' of undefined
。我有点卡在这一点上,任何帮助表示赞赏。谢谢!
如果定义了 user
,user.username
会起作用。通过查看您的第一张图片,您可以看到第 9 个用户 undefined
也在那里。由于用户是 undefined
,您无法获取 username
属性。
你确定你从${money[i].ID.slice(25)}
得到的ID是正确的吗?如果是,也许可以尝试 fetch
用户:
for (var i in money) {
let user = await client.users.fetch(`${money[i].ID.slice(25)}`).catch(console.error);
finalLb += `${money.indexOf(money[i]) + 1} ${user.username} \`${
money[i].data
} credits\`\n`;
console.log(user);
}
我目前正在更改服务器的排行榜命令以显示在 Canvas 上,而不是嵌入。我 运行 遇到的一个问题是,因为它不是嵌入,所以抓取用户 ID 然后用 <@userid>
显示他们的用户名不再有效,代码只是 returns 纯文本的 ID。我正在寻找解决此问题的解决方案。这是我现在拥有的代码:
for (var i in money) {
let user = client.users.cache.get(`${money[i].ID.slice(25)}`);
finalLb += `${money.indexOf(money[i])+1} ${user} \`${money[i].data} credits\`\n`;
console.log(user)
}
代码结果
当我控制台记录用户变量时,我得到了他们的所有信息,包括用户名。
我试过 user.username,但收到错误 Cannot read property 'username' of undefined
。我有点卡在这一点上,任何帮助表示赞赏。谢谢!
user
,user.username
会起作用。通过查看您的第一张图片,您可以看到第 9 个用户 undefined
也在那里。由于用户是 undefined
,您无法获取 username
属性。
你确定你从${money[i].ID.slice(25)}
得到的ID是正确的吗?如果是,也许可以尝试 fetch
用户:
for (var i in money) {
let user = await client.users.fetch(`${money[i].ID.slice(25)}`).catch(console.error);
finalLb += `${money.indexOf(money[i]) + 1} ${user.username} \`${
money[i].data
} credits\`\n`;
console.log(user);
}