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);
}