Home > Mobile >  How to filter the member counter in discord.js v13
How to filter the member counter in discord.js v13

Time:04-16

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

CodePudding user response:

You can just filter through all the members in a server and remove all the members which are bots by using .filter(). You can then update your code to:

module.exports = async(message, args, cmd, client, Discord, profileData) => {
  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);
}

  • Related