这是密码
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发布于 2021-12-23 14:25:08
由于要重新启动bot,所以数据没有缓存,因此首先需要使用.members.fetch方法获取成员。否则,它意味着您没有激活意图,请参考here。
例如,您的案例:
await myGuild.members.fetch();
var onlineCount = myGuild.members.cache.filter(member => member.presence?.status != "offline").size;发布于 2021-12-23 14:50:27
filter方法返回数组,数组不具有size属性。使用length属性,就可以了。
请检查以下答案:https://stackoverflow.com/a/14202745/10500500
var onlineCount = myGuild.members.cache.filter(member => member.presence?.status != "offline").lengthhttps://stackoverflow.com/questions/70463365
复制相似问题