1 GrumpyServerstats EN
darksoon edited this page 2026-07-11 01:05:01 +02:00

Serverstats — Live Counter Channels

GrumpyServerstats attaches live counters to voice or text channels: the channel name is automatically kept up to date with a number (e.g. "👥 Members: 1234"). There is no "online" counter option — that would require the privileged GuildPresences intent, which the bot deliberately does not request. Instead, the available counters are: total members, humans (excluding bots), bots, and server boosts.


Activation

In configs/config.yml:

addons:
  serverstats: true   # Default: true

There is no dedicated configs/modules/serverstats.yml — the module is purely database-backed. Counters are only created/removed via the /serverstats command, not via a config file.


Counter Types

Type Meaning Default template
members All members (guild.memberCount) 👥 Members: {count}
humans Members excluding bots 🙋 Humans: {count}
bots Bot accounts only 🤖 Bots: {count}
boosts Active server boosts 💎 Boosts: {count}

No online counter: Knowing who is currently online/idle/dnd would require the privileged presence intent (GuildPresences) — this is deliberately not requested for privacy/scaling reasons. So the bot can only distinguish members from bots, not online status.

The template can be customized per counter (placeholder {count}, max 90 characters; the final channel name is truncated to 100 characters).


Update Interval

The bot checks and updates all configured counters across every guild every 10 minutes. This interval is deliberately chosen: Discord rate-limits channel renames to 2 per 10 minutes per channel — at exactly this cadence, the bot can safely attempt a rename on every tick without ever hitting that limit.

  • If the value hasn't changed since the last tick, the rename API call is skipped entirely.
  • On /serverstats add, an immediate first rename attempt is made so admins don't have to wait up to 10 minutes to see it work.
  • If a linked channel is deleted, the bot automatically removes the associated counter from the database on the next tick.
  • A maximum of 10 counters per server is allowed at once.

Commands

/serverstats add

Attaches a live counter to a channel.

Option Required Description
channel Voice or text channel whose name gets overwritten
type members | humans | bots | boosts
template Custom name template with {count} (max 90 characters) — otherwise the default template is used
/serverstats add channel:#member-count type:members
/serverstats add channel:🔊-boosts type:boosts template:"💎 Boosts: {count}"

A channel can only have one counter. If the rename attempt right after creation fails (e.g. rate limit), the counter is still saved and will be retried automatically on the next 10-minute tick.


/serverstats remove

Removes the counter from a channel (the channel name itself stays as last set).

Option Required Description
channel Channel whose counter should be removed
/serverstats remove channel:#member-count

/serverstats list

Lists all configured counters for the server with channel, type, and template.

/serverstats list

Permissions

  • Command usage: Manage Guild — set as the Discord default permission, adjustable per role/channel by server admins via Integrations settings.
  • Bot permission: The bot needs Manage Channels to rename channels.