Analytics
Last updated Sep 28, 2026Open in dashboard

Analytics - Stat Channels

A stat channel is a voice channel whose name the bot keeps up to date with a live number, such as Members: 1,482 or Game night in 2d 3h. Members see it in the channel list without running a command. When you add one, the bot denies Connect to @everyone in that channel so nobody joins it; removing the stat channel gives Connect back.

There are three types:

TypeShowsExample
StatAny server statistic from the variables below๐ŸŸข Online: {members.online}
CountdownTime until (or since) a dateGame night in {countdown.smart}
GoalProgress toward a targetRoad to {goal.target}: {goal.bar}

Adding a stat channel

  1. Create a voice channel in Discord to hold the stat (or pick an existing one), and make sure the bot has View Channel, Connect and Manage Channels there (Discord lets only members who can connect to a voice channel edit it).
  2. Open Analytics > Stat Channels and click New Channel.
  3. Pick the Channel Type and the Voice Channel.
  4. Write the Name Template. Click Insert Variable for the list of Variables, Expressions and Filters; the Preview under the field shows the result with live values, and the counter shows the length (Discord allows 100 characters).
  5. Choose the Update Interval (10, 15, 30, 45 or 60 minutes; default 30) and fill in the type's settings (see below).
  6. Save. Use the switch on a stat channel to pause it, the pencil to edit it and the trash icon to remove it.
A new stat channel with the variable picker open

The bot renames the channel as soon as you save it, then checks stat channels every 5 minutes and renames one when its interval has passed and the name actually changed. Discord allows only about two renames per channel every 10 minutes, so 10 minutes is the shortest interval; if Discord still rate-limits a rename, the bot waits and tries again.

When the name is not current, the card says why instead of the next update time:

  • Can't rename: the bot needs ... in this channel: it names what the bot lacks (View Channel, Connect or Manage Channels). Give the bot's role those permissions, on the server or on the channel; the bot renames it within a few seconds of the change.
  • Discord's rename limit applies, with when the bot tries again.
  • Waiting for the server's member list to finish loading: after the bot starts, member and presence counts are not trusted until Discord has sent the whole member list.
  • First update within 5 minutes: saved, but not renamed yet.
  • The voice channel was deleted: only for a channel deleted while the bot was offline. Deleting the channel while the bot runs removes the stat channel.

Type settings

Stat

  • Period Window: the time span for the period variables (period.*): the last 1, 6, 12 or 24 hours, 7 days or 30 days.
  • Time Format: 12h or 24h, for the time variables.
  • *Tracked Role (for role. variables)**: the role the role.* variables count.

Countdown

  • Sub-type: Fixed Date (a Target Date & Time, in the server's timezone), Daily Recurring (every day at an hour), Weekly Recurring (a day of week and an hour) or Server Anniversary (the server's creation date each year).
  • Event Label: your event name, for {countdown.label}.
  • Past dates count up with the elapsed.* variables.

Goal

  • Metric: Total Members, Boost Count, Scheduled Events, or Custom (manual) with a Current Value you enter yourself.
  • Target: the number to reach.

Stat variables

Members & Presence

VariableDescription
{members}Total member count
{members.humans}Non-bot members
{members.bots}Bot members
{members.online}Online (green dot only)
{members.active}Online + idle + DND
{members.idle}Idle members
{members.dnd}Do Not Disturb members
{members.offline}Offline members
{members.peak}All-time peak online
{members.new}Joined in the period window

Voice

VariableDescription
{voice.active}Users in any voice channel
{voice.streaming}Users streaming
{voice.video}Users with camera on
{voice.muted}Self-muted users
{voice.deafened}Self-deafened users
{voice.stages}Users in stage channels

Channels

VariableDescription
{channels}Total channel count
{channels.text}Text channels
{channels.voice}Voice channels
{channels.stage}Stage channels
{channels.forum}Forum channels
{channels.category}Category channels
{channels.thread}Active threads

Server Info

VariableDescription
{server.name}Server name
{server.owner}Owner display name
{roles}Total roles (excl. @everyone)
{boosts}Boost count
{boost.tier}Boost tier number (0-3)
{boost.tier.name}Boost tier name
{emojis}Custom emoji count
{stickers}Custom sticker count
{events}Scheduled events
{invites}Active invite count

Configured Role

VariableDescription
{role.name}Role name
{role.count}Members with this role
{role.position}Role position

Period Stats

VariableDescription
{period.joins}Joins in the period window
{period.leaves}Leaves in the period window
{period.messages}Messages in the period window
{period.reactions}Reactions in the period window
{period.commands}Commands in the period window
{period.voice_hours}Voice hours in the period window
{period.growth}Net member growth in period
{period.label}Human-readable period (e.g. 'last 24h')

Date & Time

VariableDescription
{time}Current time (e.g. 9:41 AM)
{date}Current date (e.g. May 3, 2026)
{datetime}Date and time
{weekday}Full weekday name
{weekday.short}Short weekday (e.g. Mon)
{month}Full month name
{month.short}Short month (e.g. Jan)
{year}4-digit year
{year.short}2-digit year

Countdown variables

Countdown

VariableDescription
{countdown.days}Days component
{countdown.hours}Hours component (0-23)
{countdown.minutes}Minutes component (0-59)
{countdown.total_days}Total days remaining
{countdown.total_hours}Total hours remaining
{countdown.total_minutes}Total minutes remaining
{countdown.smart}Auto-formatted (e.g. '2d 3h')
{countdown.label}Your configured event label
{elapsed.days}Days elapsed (past dates)
{elapsed.smart}Elapsed auto-formatted
{elapsed.years}Full years elapsed (anniversary)

Goal variables

Goal

VariableDescription
{goal.current}Current value
{goal.target}Target value
{goal.remaining}Remaining to goal
{goal.percent}Percent complete (e.g. 72.5)
{goal.bar}10-block progress bar (โ–“โ–“โ–“โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘)

Expressions and filters

Besides variables, a name template can use:

  • {choose: Option A | Option B | Option C} picks one option at random on each update.
  • {randint: 1..100} picks a random whole number in the range.
  • {plural: members, member, members} picks the singular or plural word for a number or variable.
  • Filters after a pipe: upper, lower, title, trim, length, format (thousands separator, 1,234), abs, reverse, slice(n,m), default(val), round(n), zfill(n), replace(old,new), prefix(s), suffix(s), truncate(n) and pad(n,char). For example {members | format}.

Online counts and N/A

Member, online, idle, do-not-disturb and role counts need the bot's member and presence data. Right after the bot starts, or if its host did not enable the Server Members and Presence intents, those numbers are not reliable yet: the preview shows N/A, and the channel keeps its last good name instead of being renamed.