繁体   English   中英

每次我运行 discord 机器人时,它都会说在线成员的数量未定义

[英]Everytime I run the discord bot, it says that the number of online members is undefined

这是代码

 module.exports = async (client) => {
        let myGuild = client.guilds.cache.get(guild.id)

            setInterval(() =>{

            var onlineCount = myGuild.members.cache.filter(member => member.presence?.status != "offline").size
    
            let memberCountChannel = myGuild.channels.cache.get(channel.id);
            console.log(onlineCount.name);
            memberCountChannel.setName(onlineCount + 'people online')
            .then(result => console.log(result))
            .catch (error => console.log(error));
        }, 5000)
    }

这是计算成员的部分

var onlineCount = myGuild.members.cache.filter(member => member.presence?.status != "offline").size

终端显示什么

undefined
undefined
undefined
undefined
undefined

filter方法返回一个数组,并且 arrays 没有size属性。 使用length属性就可以了。

另请检查此答案: https://stackoverflow.com/a/14202745/10500500

var onlineCount = myGuild.members.cache.filter(member => member.presence?.status != "offline").length

由于您正在重新启动机器人,因此数据不会被缓存,您首先需要使用<Guild>.members.fetch方法获取成员。

否则,这意味着您没有激活意图,请参阅此处

暂无
暂无

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

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