A Discord message that auto-updates itself — member count, boosts, date and time

You want one channel message that always shows the current number — live member count, the boost total, today's date — without logging in every morning to edit it by hand. The usual workarounds are a counter in a channel name (ugly, rate-limited) or a teammate who remembers to update the welcome post (they won't).

Billboard Bot does it the boring, reliable way: you write the message once with placeholders, and the bot re-renders the live values every rotation in the same message. No daily edits, no second message, no pings.

The problem: a message that goes stale the moment you post it

A pinned welcome post that says "We just passed 4,000 members!" is wrong the day after you write it. So is a hardcoded boost goal, a date, or a "last updated" line. Editing it by hand is the kind of chore that gets skipped, and skipped numbers make a server look abandoned.

Billboard Bot fixes this with variables. A billboard is one bot-owned message that the bot edits in place on a set interval. Inside that message you drop placeholders like {server.membercount}, and on every rotation the bot replaces them with the live value pulled fresh from Discord. The message updates itself. You never touch it again.

How it works: placeholders in, live values out

Write your frame text the way you'd write any message, but type a variable where a number should go. Each rotation the bot renders the frame and substitutes the current value, then edits the existing message — it does not post a new one.

Because rendering happens every cycle, the displayed value is never older than your interval. Set a 10-minute interval and your member count is at most 10 minutes behind reality. Variables also work inside rich embeds and across multiple frames, so a single billboard can rotate through "members", "boost goal", and "server info" cards that each stay current on their own.

What you can show — free variables and Pro variables

Free variables cover the basics: {server.name}, {date}, and {time}. Useful for "Welcome to {server.name}" headers and "Last refreshed {time}" lines that prove the post is alive.

The self-updating stats people actually come here for are Pro: {server.membercount} (live member total) and {server.boosts} (current boost count). A frame like the one below renders as "We just hit 4,217 members!" today and updates itself as the server grows — no edit from you.

The full, current list lives on the FAQ; these are the variables that exist today, not a roadmap.

  • Free — {server.name}: your server's name, useful in headers and welcome lines
  • Free — {date} and {time}: render the current date/time each rotation, great for a visible 'this is live' signal
  • Pro — {server.membercount}: live member total, the headline number for milestone and stats messages
  • Pro — {server.boosts}: current boost count, for boost goals and 'help us hit the next level' posts

Use case: a member-count milestone that ticks up on its own

Put a stats frame in your welcome or community-info channel and let it climb. The text reads "We just hit {server.membercount} members — thanks for being here!" and every rotation re-renders the real number. New arrivals see an accurate, current count instead of a figure from three months ago.

Pair it with {server.boosts} for a boost goal — "Boosts: {server.boosts} / next perk at the next tier" — and the same message doubles as a quiet nudge. Both numbers update without anyone in your staff team lifting a finger, and because it's one edited-in-place message, there's no notification spam each time the count changes.

Set it up in three commands

First, write the message you want to auto-update — in any channel, as a normal post — using the variables above. Note its message ID (Developer Mode → right-click → Copy Message ID). Then create the billboard, snapshot that message as a frame, and activate it.

The frames add step copies the message content and embeds into the billboard as an ordered frame; the variables inside it are re-rendered live on every rotation, so you snapshot the template once and the values stay current forever. Prefer clicking to typing? The dashboard tutorial walks through the same flow with a visual editor and a live preview.

/billboard create name:stats interval:10m channel:#welcome

Creates a billboard named 'stats' that rotates every 10 minutes in #welcome. (Member-count and boost variables, plus intervals under 60s, are Pro.)

/billboard frames add billboard:stats message_id:<your-message-id> duration:10m

Snapshots your message (with its variables) as a frame. Swap <your-message-id> for the real ID; duration is optional and defaults to the billboard interval.

/billboard activate billboard:stats

Starts the rotation. From now on the bot edits this one message in place and the live numbers refresh every cycle.

Why it doesn't spam your channel

Updating a number does not mean posting a number. Each rotation the bot edits the same existing message, so the count ticking from 4,216 to 4,217 produces zero notifications — no @mentions, no unread badge, no new line in the channel. It's the same edited-in-place model that makes a Discord announcement bot that doesn't spam work.

If you want the stats message to stay visible under active chat, the create/edit commands take a pin:true option. That's sticky behaviour — the bot re-sends the billboard so it stays the last message in the channel. It is not Discord's native pinned-messages list; nothing lands in the pin header. It just keeps your live count at the bottom where people are looking.

Pro pricing, stated honestly

The free plan is genuinely free and never adds forced branding: one active billboard per server, up to five saved, five frames each, a 60-second minimum interval, and the basic variables ({server.name}, {date}, {time}).

The two variables this page is about — {server.membercount} and {server.boosts} — are Pro, along with a 10-second minimum interval, more billboards and frames, and schedule windows. Pro is $4.99/mo or $49/yr per server (€4.99 / €49). You don't have to pay to try it: a top.gg vote grants 12 hours of Pro for a server you choose (24h on weekends, stackable up to 72h), and discordbotlist votes grant Pro too — enough to set up a live member-count message and watch it work before deciding. Full limits are in pricing.

  • Free: {server.name}, {date}, {time}; 1 active billboard, 5 saved, 5 frames, 60s minimum interval, no forced branding
  • Pro: adds {server.membercount} and {server.boosts}, 10s minimum interval, 10 active / 50 saved / 30 frames, schedule windows
  • Earn Pro by voting — top.gg (12h, 24h weekends, stackable to 72h) and discordbotlist both grant temporary Pro
  • Downgrading never deletes data: over-limit billboards pause and resume when you're back under the limit

Add the bot and ship your first self-updating message

Billboard Bot runs least-privilege — no Administrator, no privileged intents for normal use — and the permissions it does need (View Channel, Send Messages, Embed Links, Attach Files, Read Message History, Manage Messages, Pin Messages) can be scoped to a single channel.

Add Billboard Bot to your server, drop {server.membercount} into a welcome message, and run the three commands above. Every variable the bot supports today is listed on the FAQ.

Frequently asked questions

Does the member count update automatically, or do I have to edit the message?

Automatically. You write the message once with the {server.membercount} placeholder and the bot re-renders the live value on every rotation, editing the same message in place. You never edit it by hand. The displayed number is at most one interval behind the real count — for example, a 10-minute interval keeps it within 10 minutes of current.

Which variables are free and which are Pro?

Free variables are {server.name}, {date}, and {time}. The live-stats variables {server.membercount} and {server.boosts} are Pro, as is the 10-second minimum interval. You can earn temporary Pro for free by voting — a top.gg vote grants 12 hours of Pro for a chosen server (24h on weekends, stackable to 72h), and discordbotlist votes grant Pro too.

Will an auto-updating message spam my channel with notifications?

No. A billboard is one bot-owned message that the bot edits in place, so a count ticking up produces no new message, no @mention, and no unread badge. If you turn on pin:true, the bot re-sends the billboard so it stays the last message in the channel (sticky / resend-to-bottom). That is not Discord's native pinned-messages list and nothing is added to the pin header.

What permissions and intents does the bot need?

It runs least-privilege: no Administrator and no privileged intents for normal use. It needs View Channel, Send Messages, Embed Links, Attach Files, Read Message History, Manage Messages, and Pin Messages, and you can scope those to a single channel. The /billboard commands are guild-only and gated to members with Manage Server.

Stop editing your member-count message by hand

Add Billboard Bot, drop {server.membercount} into one message, and run three commands — the live count updates itself from then on. Member-count and boost variables are Pro, and you can earn Pro free by voting. See every variable on the FAQ or open the tutorial to set it up with the visual editor.