Reputation: 203
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
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