Put the number where everyone already looks.
Nobody opens a dashboard to check how the server is doing. They glance at the channel list. Stats Channels turns a channel's name into a live counter - members, threats blocked, open tickets - sitting permanently at the top of the sidebar.
Opt-in and off by default. Bind up to six channels per server on AntiLink Plus.
Information
Server Stats
Text Channels
Discord lowercases a text channel name and turns every space into a hyphen. Your careful template comes out mangled.
Voice names keep capitals and spaces exactly as written. Lock it so nobody can connect and it becomes a pure read-only display.
A locked voice channel is the classic choice, but any renameable channel works.
Four numbers worth staring at
Pick a metric, write a name template, and put {value} wherever the number belongs. Everything around it is yours.
Member count
The server total, read straight from the guild. No privileged intent needed.
๐ฅ Members: {value}
Threats blocked (all time)
Every link, invite, scam or webhook threat AntiLink has removed in this server.
๐ก๏ธ Blocked: {value}
Threats blocked (7 days)
The same count over the last seven days - a live pulse instead of a lifetime total.
โก 7d Blocked: {value}
Open tickets
How many support tickets are open right now, so staff see the queue without opening one.
๐ซ Open tickets: {value}
Numbers are formatted with thousands separators automatically. Names are capped at Discord's 100-character limit.
Slow on purpose. Here is the schedule.
Discord hard-limits a channel to roughly two renames every ten minutes. A bot that ignores that gets throttled and its numbers freeze. AntiLink sweeps every 15 minutes and writes only when the value actually moved - so the budget is there when the number really does change.
- +90sFirst sweep after boot
A short delayed first run so the numbers land a minute or two after the bot comes online.
- +15mValue unchangedNo API call
Member count is still 12,480. AntiLink compares, sees no difference, and sends nothing at all.
- +30mValue changed - renameRename
Two joins and a raider blocked. Exactly the channels whose number moved get renamed. Nothing else.
- +45mValue unchangedNo API call
Quiet stretch. Another silent tick. Your rate-limit budget stays untouched for when it matters.
You do not wait to see it work. Saving in the dashboard asks the bot for an immediate refresh, so your first names appear right away instead of on the next quarter-hour tick.
A rename bot with permission to rename is a scary thing. So it is boxed in.
Manage Channels is a real permission, and AntiLink treats it that way. Every sweep re-derives the exact list of channels you bound and touches nothing outside it.
It never
- Never renames a channel you did not bind, and never scans your server looking for one to claim.
- Never posts a message, an embed, or a ping. The channel name is the entire interface.
- Never renames when the number did not move, so it stays far under Discord rename limits.
- Never stores anything sensitive - just a channel id, a metric, and the template you wrote.
Every single sweep, it
- Re-checks the bound channel still exists before every single rename.
- Re-checks it holds Manage Channels on that channel, and quietly skips it if not.
- Re-checks your plan live on every sweep, and fails closed to free if the lookup fails.
- Fails open everywhere: an error on one channel is logged and skipped, never a crash.
Bound channels
4 of 6 usedAntiLink Plus
Any paid plan unlocks it, and the plan is re-checked live on every sweep. A downgraded server simply stops updating - nothing breaks, nothing is deleted.
Manage Channels
Needed on each bound channel so AntiLink can rewrite its name. Missing it means that one channel is skipped, never an error and never a retry storm.
No extra intents
The member count comes from the guild itself, so there is no privileged intent to enable and nothing new to approve in the Developer Portal.
Your server, counted in the sidebar.
Create a locked voice channel, bind it to a metric, write a name. AntiLink keeps the number honest from then on - quietly, slowly, and only where you said it could.