试图在discord公会(服务器(上获取用户列表,但每当我获取列表时,它总是返回1个用户,即机器人本身。尝试执行
console.log(client.guilds.cache.get(config.SERVER_ID).members.cache.size)
console.log(client.guilds.cache.get(config.SERVER_ID).memberCount)
第一行返回1,第二行返回420(discord服务器上的用户数(。我无法更新客户端的缓存。如有任何帮助,将不胜感激
您的第一行返回1,因为您的bot是服务器上唯一缓存的用户。第二行返回正确的数量,因为Guild.memberCount
不需要缓存任何用户,它直接从公会获取数据。
如果你想缓存一个公会的每个成员,你可以使用GuildMemberManager.fetch()
。
client.guilds.cache
.get(config.SERVER_ID)
.members.fetch()
.then((members) => {
console.log(members.size); // 420
// code...
});