Modules
Counters
Channels whose names show live numbers, like members, online, roles or a countdown, and update on their own.
Counters are channels whose names Dexy keeps up to date, so anyone can see your server's numbers at a glance. You write the name your way and put values in braces, like π₯ Members: {members}. Dexy fills in the number and renames the channel when it changes.
The Counters module is on by default. Changing counters needs the Manage Channels permission, or a role with the Manage counters role permission (see Permissions). Anyone can list counters and preview a name.
Quick setup#
The fastest way to start is quick setup. It makes a π Server Stats category with three counters in it: Members, Users and Bots.
- Open your server on the dashboard and go to Counters.
- Under Quick setup, press Set up Server Statsβ¦.
- Pick a Channel type: voice, text or link. Voice is the usual choice: members can see it but can't join.
- Press Make 3 counters. The channels appear in your server within seconds, and in the list under Your counters, with a preview of how they look in your server beside it.
Make your own counter#
- On Counters, press New counter.
- Choose New channel (Dexy makes one) or Existing channel (Dexy renames one you already have). For a new channel, pick its Channel type.
- Under Start from a preset, pick one and press Use this, or write your own text in What it shows, like
π₯ Members: {members}. - To add a number, press Insert value. Search or browse the values, pick one, set its options, then press Insert. A name can have up to 4 values.
- Check the line under the text: Shows now is exactly what the channel will be called.
- Pick how often it Updates (automatic is usually right) and, if you like, a Label so you can tell counters apart.
- Press Make the counter.
Each counter has a number (#1, #2 β¦). The other counter commands take that number, for example d!counter edit 2 π’ {online} online.
Change how new counters are made#
- Open Counters βΈ Settings.
- Under New counters, choose Where new counters go, whether to Lock new counters, the Default channel type and how Numbers are written.
- Press Save changes.
Counter settings below explains each one.
Writing a counter's name#
A counter's name is ordinary text with up to 4 values in braces. Everything outside the braces stays exactly as you wrote it. A name can be up to 100 characters.
{members}is a value on its own.{channels:voice}adds an argument after a colon.{online|short}adds options after a bar. A value can have several, like{role:@Mods|online|short}.
Some examples:
| Name | Shows |
|---|---|
π₯ Members: {members} | π₯ Members: 1,390 |
π’ {online} online Β· ποΈ {invoice} in voice | π’ 412 online Β· ποΈ 18 in voice |
π― {goal:2000} to go | π― 610 to go |
π Party fund: {ecogoal:1 pct}% | π Party fund: 64% |
π {channels:category} categories | π 6 categories |
Values with options work the same way:
π‘οΈ Mods online: {role:@Mods|online}counts members with the Mods role who are online.π {time:%I:%M %p|tz=Asia/Kolkata}shows the time in India, like π 09:00 PM.β³ {countdown:2027-01-01 00:00|end=Happy New Year!}counts down to New Year, then shows Happy New Year!
Try a name before you make a channel with d!counter preview:
Live in Discord
Live in Fluxer
On the dashboard, Insert value opens a list of every value with small controls for its argument and options, and the text box shows a live preview as you type.
Number options#
Any value that's a number takes these options:
|shortwrites 1,234 as 1.2k.|fullwrites it as 1,234.|goal=1000shows 1000 minus the number, never below 0.
{ecogoal:1} shows what a server economy goal raised (goal #1 in d!pts goals), {ecogoal:1 left} what's still needed and {ecogoal:1 pct} the percent.
Without |short or |full, numbers follow the server's number format (full by default). See Counter settings.
Time values#
{time}and{date}take a format after the colon, like{date:%A, %d %B}, and|tz=with a timezone name or a UTC offset. Without|tz=they use the server's timezone.{countdown:<date>}counts down to a date;{timer:<date>}counts up from one. Dates can be2026-12-31,2026-12-31 20:00or a unix timestamp.|d,|hand|mpick the units,|longspells them out, and|end=is the text a countdown shows once it's over.
Every value, its arguments and its options are listed in the counter types reference, and in your server with d!counter types.
Members
- {members}All members (people and bots).Takes |short, |full and |goal=.
- {users}Members who aren't bots.Takes |short, |full and |goal=.
- {bots}Bots.Takes |short, |full and |goal=.
- {online}Members online right now (online, idle and DnD).Takes |short, |full and |goal=.
- {offline}Members who are offline.Takes |short, |full and |goal=.
- {idle}Members who are idle.Takes |short, |full and |goal=.
- {dnd}Members on Do Not Disturb.Takes |short, |full and |goal=.
- {status}Members with any of these statuses: `online` (green only), `idle`, `dnd`, `offline`.Takes |short, |full and |goal=.e.g. {status:idle dnd}
- {role}Members with a role; `|online` `|idle` `|dnd` `|offline` count only those statuses.Options: |dnd |idle |offline |online. Takes |short, |full and |goal=.e.g. {role:@Role|online}
- {goal}Members still needed to reach a goal.Takes |short, |full and |goal=.e.g. {goal:1000}
Server
- {roles}Roles (`:managed` = bot / integration roles, `:unmanaged` = the rest).Kinds: :managed :unmanaged. Takes |short, |full and |goal=.
- {channels}Channels (`:text`, `:voice` or `:category`).Kinds: :text :voice :category. Takes |short, |full and |goal=.e.g. {channels:voice}
- {emojis}Emojis (`:static` or `:animated`).Kinds: :static :animated. Takes |short, |full and |goal=.
Voice
- {invoice}People in voice now. `:#a #b` only those channels or categories, `:not #a` all but those.Takes |short, |full and |goal=.
Time
- {time}The time (default format `%H:%M`, `|tz=` to change the timezone).Options: |tz.
- {date}The date (default format `%d %b %Y`).Options: |tz. e.g. {date:%A, %d %B}
- {countdown}Time left until a date. `|d|h|m` pick the units, `|long` spells them out, `|end=` is shown when it's over.Options: |d |end |h |long |m |tz. e.g. {countdown:2026-12-31 20:00}
- {timer}Time since a date (same options as countdown).Options: |d |h |long |m |tz. e.g. {timer:2026-01-01}
Presets#
Instead of writing a name, give counter add a preset. Each one comes with a ready-made name you can change later.
d!counter add members
d!counter add goal 1000 --text
d!counter add role @Mods
d!counter add countdown 2026-12-31 20:00
d!counter add members
d!counter add goal 1000 --text
d!counter add role @Mods
d!counter add countdown 2026-12-31 20:00
Presets without a value: members, users, bots, online, offline, idle, dnd, roles, channels, text, voicechannels, categories, emojis, static, animated, invoice, date and time. Presets with a value: goal <number>, role @Role, countdown <date> and timer <date>. On the dashboard, Start from a preset offers the same list.
Channel types#
A counter can be one of four channel types. Add the type anywhere in the name, or Dexy asks with reactions.
| Type | Flag | What members see |
|---|---|---|
| Voice | --voice | A voice channel they can see but can't join. |
| Text | --text | A read-only text channel. Fluxer writes text channel names in lowercase with dashes unless the server allows flexible names. |
| Link | --link [url] | A channel that opens a link when clicked. Leave the URL out to use Dexy's own link. |
| Category | --category | A category named after the counter. |
New voice and text counters are locked: members can see them but can't join or post. Locking needs Dexy to have the Manage Roles permission; without it the channel is made unlocked and Dexy says so.
Change the link a link counter opens with d!counter link 2 https://example.com. A counter's channel type can't be changed: remove the counter and make it again.
Using a channel you already have#
d!counter attach turns an existing voice, text, link or category channel into a counter. Dexy renames it right away and keeps it updated. The channel keeps its type.
Live in Discord
Live in Fluxer
On the dashboard, choose Existing channel in New counter. Turning an attached counter off, or removing it, never deletes the channel.
Changing counters#
| Do this | Command | On the dashboard |
|---|---|---|
| Change what it shows | d!counter edit 2 π’ {online} online | Open the counter and change What it shows |
| Give it a label for the list | d!counter name 2 Front page | Label |
| Change how often it updates | d!counter speed 2 1h | Updates |
| Turn it off, keeping its settings | d!counter off 2 | The counter's switch |
| Turn it back on | d!counter on 2 | The counter's switch |
| Delete it | d!counter remove 2 | Remove |
| Delete every counter | d!counter reset | Remove all counters⦠|
| Update every counter now | d!counter refresh | Refresh all |
Renaming the channel yourself#
You can rename a counter channel in Fluxer like any other channel. Dexy finds the numbers in the new name and keeps your wording, so Humans 1,234 becomes Humans {members} and keeps updating. If you take the numbers out, Dexy puts the counter's name back. Text channel counters always get their name put back at the next change, because Fluxer rewrites text channel names.
Turning off, removing and resetting#
d!counter off 2deletes the channel Dexy made and keeps the counter's wording, label and speed.d!counter on 2makes a new channel of the same type, where new counters go.d!counter remove 2deletes the counter and the channel Dexy made. Addkeepto keep the channel:d!counter remove 2 keep.d!counter resetremoves every counter after you confirm with β within 60 seconds. It deletes the channels Dexy made and the π Server Stats category.d!counter reset keepkeeps all the channels;confirmskips the question.- Channels you attached are never deleted by Dexy.
- If someone deletes a counter's channel, the counter turns off with a note. Turn it on to make a new channel.
Counter settings#
Four settings decide how Dexy makes new counters. See them with d!counter settings, or on the dashboard under Counters βΈ Settings.
Live in Discord
Live in Fluxer
| Setting | Command | What it does |
|---|---|---|
| Where new counters go | d!counter settings place auto | auto puts them in the π Server Stats category once quick setup made it, else at the top of the channel list. You can also give a category, or none for the top. |
| Lock new counters | d!counter settings lock on | On (the default): members can see new voice and text counters but can't join or post. Off: new counters keep their category's permissions. |
| Default channel type | d!counter settings type voice | The type the dashboard's New counter starts with, and the one Dexy lists first when it asks. |
| Numbers | d!counter settings numbers short | full (1,234, the default) or short (1.2k), for values without a short or full option of their own. |
Placement, locking and channel type apply to counters made from now on, and to counters turned back on. Counters that already exist stay where they are and keep their permissions. The number format changes every counter at its next update.
| Setting | What it does | Default |
|---|---|---|
| New counters go incounter_placement | Where Dexy puts the channel when it makes a new counter, or remakes one you turn back on. | π Server Stats (automatic) |
| Category for new counterscounter_parent | The category for "category", 0 = none picked | None |
| Lock new counter channelscounter_lock | Members can see a locked counter but can't join it (voice) or post in it (text). | On |
| Default counter channel typecounter_kind | The channel type a new counter starts as here, and the one Dexy lists first when a command asks. | Voice |
| Counter number formatcounter_numbers | How counters write numbers that don't say for themselves. | Full (1,234) |
Values, limits and who can change each: Counters settings reference.
How often counters update#
Each counter updates at its own speed. By default the speed is automatic and follows what the counter shows, using the fastest need among its values:
| Values | Automatic speed |
|---|---|
| time, online, offline, idle, dnd, status, a role with a status option, invoice, countdown, timer | As often as the server's plan allows (every 10 minutes) |
| members, users, bots, goal, role, ecogoal | Every 30 minutes |
| roles, channels, emojis | Every 6 hours |
| date | Once a day, just after midnight in the counter's timezone |
A date with hours or minutes in its format counts as a time. Pick a speed of your own with d!counter speed <number> <speed>: 10m, 30m, 1h, 3h, 6h, 12h or 1d. d!counter speed 2 auto goes back to automatic. On the dashboard, Updates offers the same choices.
Dexy renames a channel only when its text changed. d!counter refresh updates every changed counter now; it can be used once a minute per server.
Limits#
- A server can have up to 10 counters.
- Each counter shows up to 4 values.
- A server can make 5 counters every minute:
counter add,counter attach, andcounter onwhen it makes a new channel. Quick setup counts as 3. - A server can delete 5 counter channels every minute:
counter remove,counter offandcounter resetwhen they delete a channel Dexy made. A reset counts as one. Withkeep, or for an attached channel, nothing is deleted, so it always works. - Each counter can be renamed 5 times a minute:
counter editwhile it's on, and new links withcounter link.
These limits are the same for every server and every member, Administrators included, and the dashboard and commands share them. When you hit one, Dexy says how long to wait, and the dashboard's buttons show a countdown, like "New counter Β· 1:42". They keep Dexy within Fluxer's limits on making, deleting and renaming channels.
Commands#
| Command | What it does | Needs |
|---|---|---|
| counter | Show this server's live counters: channels whose names show numbers that update on their own.add Β· attach Β· edit Β· link Β· list Β· name Β· off Β· on Β· preview Β· refresh Β· remove Β· reset Β· settings Β· setup Β· speed Β· types | β |
Full details for each: Counters command reference.
Troubleshooting#
A counter doesn't update. Run d!counter list or d!diag: a counter with a problem shows its last error. On the dashboard, the counter shows the error and what to do about it.
| Error | What to do |
|---|---|
| I need the Manage Channels permission (and to see the channel). | Give Dexy the Manage Channels permission and let it see the channel. Check the category's permissions too. Dexy tries again at the next update. |
| The channel was deleted, so the counter is off. | Turn the counter on to make a new channel, or remove it. |
| Couldn't read the numbers; I'll try again. | Nothing to do: Dexy tries again at the next update and keeps the old name meanwhile. |
| Anything else | Edit the counter's text, or press Refresh all to try again. |
New counters aren't locked. Dexy needs the Manage Roles permission to lock a channel. Counters made before you gave it keep their permissions, so lock those by hand or turn them off and on again.
Dexy says to wait. You hit one of the limits on making, deleting or renaming counters. Wait the time Dexy gives and try again.
A text counter's name looks different. Fluxer writes text channel names in lowercase with dashes unless the server allows flexible names. Use a voice or link counter to keep your exact wording.
The number seems a little behind. Counters update on a schedule, not instantly. Check the speed with d!counter speed 2, or update everything now with d!counter refresh.
"The Counters module is turned off." An admin can turn it on with d!modules enable counters, or on the dashboard. See Modules.