I made a member counting system for my server but it counts every member that is joined. I want to filter the counter to just count the humans/users
My code:
module.exports = async (message, args, cmd, client, Discord, profileData) =>{ const guild = client.guilds.cache.get('847071265100791849'); setInterval(() =>{ const memberCount = guild.memberCount; const channel = guild.channels.cache.get('863783336860975114'); channel.setName(`Users: ${memberCount.toLocaleString()}`); }, 60000); }
I am using discord.js v13 and node.js v16
Advertisement
Answer
You can just filter through all the members in a server and remove all the members which are bots by checking the member.user.bot
property. You can then update your code to:
const guild = client.guilds.cache.get('847071265100791849'); setInterval(() => { let humanMembers = guild.members.cache.filter( (user) => !user.user.bot // This checks if the the user is a bot ); const channel = guild.channels.cache.get('863783336860975114'); channel.setName(`Users: ${humanMembers.size.toString()}`); }, 60000);