• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

249
Views
Discord JS - Counting voice and text channels

Trying to make a counter for text and voice channels. So it should exclude the amoount of categories.

module.exports = async (client) => {
  const guild = client.guilds.cache.get('912706237806829598');

  setInterval(async () => {
    const channelCount = (await guild.channels.fetch()).filter(
      (channel) => channel.type !== 'category'
    ).size;
    const channel = guild.channels.cache.get('960790479925039124');
    channel.setName(`╭🎚・Channels: ${channelCount.toLocaleString()}`);
    console.log('Updating Channel Count');
    console.log(channelCount);
  }, 600000);
};

This gives me 183 which is wrong. The number I want to achieve is 155. I have 28 categories, so 183 makes sense if the categories aren't filtered. Filtering the categories has been a bigger struggle that I anticipated.

I have also tried to filter on the cache. guild.channels.cache.filter(channel => channel.type !== 'category').size; but it results in the same way (183). So the filtering isn't working as intended.

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

If you're using discord.js v13+, channel types are now uppercase and align with Discord's naming conventions. See below the changes:

channel type v12 v13
DM channel dm DM
group DM channel N/A GROUP_DM
guild text channel text GUILD_TEXT
guild text channel's public thread channel N/A GUILD_PUBLIC_THREAD
guild text channel's private thread channel N/A GUILD_PRIVATE_THREAD
guild voice channel voice GUILD_VOICE
guild stage voice channel N/A GUILD_STAGE_VOICE
guild category channel category GUILD_CATEGORY
guild news channel news GUILD_NEWS
guild news channel's public thread channel N/A GUILD_NEWS_THREAD
guild store channel store GUILD_STORE
generic channel of unknown type unknown UNKNOWN

As you can see, category is now GUILD_CATEGORY. It means, your filter (channel.type !== 'category') won't match anything, as there is no category type anymore. To fix this, you can use the following:

const channelCount = (await guild.channels.fetch()).filter(
  (channel) => channel.type !== 'GUILD_CATEGORY'
).size;
almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error