繁体   English   中英

会员计数器未更新会员计数 discord.js

[英]Member counter is not updating members count discord.js

我创建了一个会员计数器,但它没有更新。 它卡在80585上。当我想更新它时,我需要重新启动机器人。

我的代码:

client.on("ready", async() => {

    let servercount = await client.guilds.cache.reduce((a,b) => a+b.memberCount, 0 );
    
    const activities = [
        `${servercount} People👤 !`,
        `d!help`
    ]
    setInterval(() => {
        const status = activities[Math.floor(Math.random()*activities.length)];
        client.user.setPresence({ status: "online", activities : [{name : `${status}` , type : "WATCHING",}]});
    }, 120000);
});

我正在使用 discord.js v13 和 node.js v16 在此处输入图像描述

当我想更新它时,我需要重新启动机器人。

这就是您的代码的问题。 查看let servercount行。 具体来说,看看它在你的代码中的位置。 成员数仅在机器人启动时更新,因为您仅在机器人启动时获取成员数。 要解决该特定问题,只需将该行移动到间隔中:

client.on("ready", async() => {

    setInterval(async () => {

        let servercount = await client.guilds.cache.reduce((a,b) => a+b.memberCount, 0 );
    
        const activities = [
            `${servercount} People👤 !`,
            `d!help`
        ]

        const status = activities[Math.floor(Math.random()*activities.length)];
        client.user.setPresence({ status: "online", activities : [{name : `${status}` , type : "WATCHING",}]});
    }, 120000);
});

这至少应该修复未更新的成员数。 但是,即使在此修复之后,成员计数仍可能不是最新的。 您需要获取每个公会的成员集合,以便始终获得准确的数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM