You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Discord bot客户端状态的成员统计中过滤机器人账号

解决方案
  • 首先前往Discord开发者平台的对应Bot设置页,开启Server Members Intent(服务器成员意图),否则无法拉取完整的服务器成员列表,统计会不准确
  • 新增成员过滤逻辑:通过filter方法剔除user.bot属性为true的机器人账号,再取过滤后的集合长度即为真实人类用户数
  • 新增空值判断逻辑,避免服务器获取失败时报错导致程序崩溃

修改后的完整代码如下:

client.once('ready', () => { 
    setInterval(() => {
        const targetGuild = client.guilds.cache.get('My Guild ID Here')
        // 服务器获取失败时直接跳过本次更新避免报错
        if (!targetGuild) return
        // 过滤所有机器人账号,统计真实用户数量
        const humanMemberCount = targetGuild.members.cache.filter(member => !member.user.bot).size
        client.user.setPresence({ 
            activities: [{ name: `${humanMemberCount} Users`, type: 'WATCHING' }], 
            status: 'online'
        });
    }, 1000 * 60 * 5);
});

如果首次启动统计结果不准确,可以在ready事件内新增targetGuild.members.fetch()主动拉取全量成员数据更新缓存。

内容的提问来源于stack exchange,提问作者Pooyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:54:04