【问题标题】:Discord js bot caching issuesDiscord js 机器人缓存问题
【发布时间】:2021-02-09 21:12:03
【问题描述】:

尝试获取不和谐公会(服务器)上的用户列表,但每当我获取列表时,它总是返回 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 服务器上的用户数)。我无法更新客户端的缓存。任何帮助将不胜感激

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    您的第一行返回 1,因为您的机器人是服务器上唯一的缓存用户。您的第二行返回正确的数量,因为 Guild.memberCount 不需要缓存 任何 个用户,它直接从公会获取数据。

    如果你想缓存一个公会的每个成员,你可以使用GuildMemberManager.fetch()

    client.guilds.cache
     .get(config.SERVER_ID)
     .members.fetch()
     .then((members) => {
      console.log(members.size); // 420
      // code...
     });
    

    【讨论】:

    猜你喜欢
    • 2020-05-15
    • 2020-08-28
    • 2020-07-04
    • 2021-12-12
    • 2019-09-16
    • 2021-01-10
    • 2020-12-30
    • 2021-03-24
    • 2018-06-26
    相关资源
    最近更新 更多