【发布时间】:2021-05-05 22:04:08
【问题描述】:
我的代码有一点问题:
<Client>.users.cache.size
它以前运行良好,但有一天它开始给我随机数,而不是机器人的用户数。
所以我想解决这个问题,但我没有找到方法。
【问题讨论】:
-
在您的 Discord 开发者门户中检查您的服务器成员意图。 Learn About Intents Here
标签: javascript node.js discord.js
我的代码有一点问题:
<Client>.users.cache.size
它以前运行良好,但有一天它开始给我随机数,而不是机器人的用户数。
所以我想解决这个问题,但我没有找到方法。
【问题讨论】:
标签: javascript node.js discord.js
试试这个,它正在工作:
if (message.content === prefix + 'servers'){
let serverlist = ''
let count = 0; //<---
client.guilds.cache.forEach((guild) => {
count += guild.memberCount // <---
})
message.channel.send("Member Count = " + count);
}
【讨论】:
正如该属性所暗示的,它只返回保存在缓存中的用户数。
这就是使数字看起来随机的原因。
获取曾经使用过您的机器人的实际人数的方法是使用 Discord Intents (正如 Elitezen 在评论中所说)或 - 这也很常见,也是我更喜欢的方式 -您可以将您的机器人连接到 数据库 并将所有用户存储在那里。 (MongoDB 很受欢迎)。
【讨论】: