I wanted my bot to set the name of a channel: the number of users. I wanted to filter online/dnd/idle members and offline members. but my code is not working.
My code:
let humanMembers = guild.members.cache.filter(
(user) => !user.user.bot
);
let onlineMembers = guild.members.cache.filter(
(member) => !member.user.bot && member.user.presence.status !== "offline"
)
const channel = guild.channels.cache.get('863783336860975114');
channel.setName(`🚀 Online: ${onlineMembers.size.toString()}/${humanMembers.size.toString()}`);
The error:
cannot read properties of undefined <reading 'status'>
at main.js:37:65
I am using discord.js v13 and node.js v16
User.presence
has been removed in v13
You can use GuildMember.presence
if you have GUILD_PRESENCES
intent enabled.
Instead of using member.user.presence
use member.presence