dahool
dahool

Reputation: 203

discord.js v13 member presence is undefined

I'm trying to get user presence with the new discord.js version 13. I added the following intents to my connection:

const INTENTS = [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_PRESENCES,
    Intents.FLAGS.GUILD_MEMBERS,
    Intents.FLAGS.GUILD_MESSAGES,
    Intents.FLAGS.GUILD_WEBHOOKS,
    Intents.FLAGS.DIRECT_MESSAGES
]

But after using guild.members.fetch(), presence property is undefined

This is how I am trying to access it

guild.members.fetch().then(members => { 
    const online = members.filter((member) => !member.user?.bot && member.user?.presence?.status != 'offline').map((member) => member); 
})

am I missing something? This use to work well with v12, has anything else changed?

To add more information, I do get presence information in the event presenceUpdate

client.on('presenceUpdate', (oldMember, newMember) => {
    if (!newMember.user.bot && newMember.status != 'offline') {
        // do something
    }

Upvotes: 0

Views: 3637

Answers (1)

MrMythical
MrMythical

Reputation: 9041

It seems in v13 User.presence isn’t a property. You will need GuildMember.presence

guild.members.fetch().then(members => { 
    const online = members.filter((member) => !member.user?.bot && member.presence?.status != 'offline').map((member) => member); 
})

Upvotes: 2

Related Questions