este es el codigo
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) }Y esta es la parte que cuenta los miembros
var onlineCount = myGuild.members.cache.filter(member => member.presence?.status != "offline").sizeLo que muestra la terminal
undefined undefined undefined undefined undefinedEl método de filter devuelve una matriz, y las matrices no tienen propiedad de size . Use la propiedad de length y estará bien.
Verifique también esta respuesta: https://stackoverflow.com/a/14202745/10500500
var onlineCount = myGuild.members.cache.filter(member => member.presence?.status != "offline").lengthDado que está reiniciando el bot, los datos no se almacenan en caché, primero debe buscar a los miembros con el método <Guild>.members.fetch . De lo contrario, significa que no activó las intenciones, consulte aquí .
Ejemplo para tu caso:
await myGuild.members.fetch(); var onlineCount = myGuild.members.cache.filter(member => member.presence?.status != "offline").size;