Updates4 min read

Stats Channels Live: Server Stats as Locked Voice Channels

Members, online status, boosts and more — automatically displayed in your voice-channel names, refreshed every 10 minutes. Quick-setup in 30 seconds, built to scale to 1M servers.

What are Stats Channels?

You know the pattern: a few locked voice channels at the top of your channel list showing live data instead of normal names — 👥 Members: 1,234, 🟢 Online: 87, 🚀 Boosts: 12. Looks like MEE6, but better integrated and built to scale.

Live today in TeraOne: Stats Channels for every Discord server.

Quick-setup in 30 seconds

In the dashboard, go to the Stats Channels tab → click Set up now. The bot automatically creates a 📊 Server Stats category plus 5 locked voice channels:

  • 👥 Total Members
  • 🟢 Online (currently connected)
  • 👤 Humans (excluding bots)
  • 🤖 Bots
  • 🚀 Server Boosts

In under a minute you'll see live values at the top of your channel list. Nobody can join these voice channels — they're display-only.

Available stat types

Beyond the 5 classics, there are 4 more types you can add manually:

  • Roles — number of server roles (excluding @everyone)
  • Channels — total channel count
  • New today — members who joined since midnight in your server timezone
  • Top XP member — username of the highest-ranked member from the Leveling module

Max 10 stats channels per server. Each channel is a template with a placeholder — design the name freely: Crew ▸ {value}, 🎮 Online now: {value}, Members since day 1: {value}. Live preview in the dashboard shows the rendered result before you save.

Why a 10-minute update cycle?

Discord rate-limits voice-channel renames to 2 per 10 minutes per channel. You physically can't go faster — Discord would discard the renames. 10 minutes is the fastest safe cadence for stable, always-current values.

Our skip-when-unchanged mechanism ensures only channels with actually-changed values get renamed. A quiet server with stable values consumes zero Discord rate-limit budget. Active servers trigger renames on ~10-15% of tick cycles.

Custom-bot precedence

If you've configured your own Discord bot in TeraOne, stats-channel renames run under that bot's token and rate-limit budget. Your custom bot doesn't share its budget with other servers — at scale, that means full control and no bottlenecks from other communities.

Architecture (for the tech-curious)

Under the hood, the feature runs on two BullMQ workers:

  1. Tick worker — a 10-minute cron job that cursor-paginates all enabled guilds in 1,000-batch chunks and enqueues one update job per guild.
  2. Update worker — per guild, loads the stats channels, renders current values, compares to the Redis cache stats:lastName:<channelId> (14-day TTL), and only fires a Discord rename when the name actually changed.

The math for 1M servers × 10 channels: 1M jobs / 600s = ~1.6k jobs/sec sustained, distributed across 4-8 worker pods. Skip-when-unchanged drops Discord calls to a realistic ~10-20% of that. Per-guild custom-bot tokens ensure each guild gets its own rate-limit budget rather than funneling all renames through a single bottleneck.

What's next?

Planned for V2:

  • Per-channel cadence — pick 5/10/15/30/60-minute update intervals per stat
  • Custom counters — your own values from plugin events (e.g. 🎯 DayZ kills today, 🎫 Tickets open)
  • Server ageFounded X days ago
  • Multi-channel groups — one stat across multiple channels (e.g. one voice + one category header)

Activate now

Go to your dashboard → pick your server → Stats Channels tab → Set up now. Within a minute your voice channels will show live values. No cost, runs on the TeraOne bot, scales to 1M servers.

Questions? Discord server — we help directly in #support.