[英]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.