Level-up announcements

The announcement is the only part of the level system members see without asking for it, so it is worth getting right. It is configured on the Levels page under Level Up.

Where it is posted

Announcement Location has three settings.

SettingWhere the message goes
Configured channelAlways the channel you pick below. This is the default.
Where earnedThe channel the member was talking in, or the voice channel they levelled up in.
OffNowhere.

With Configured channel, if you leave the channel empty the bot falls back to the channel the XP was earned in, which is the same behaviour as Where earned.

Turning announcements Off only silences the message. Reward roles are still granted, XP still accrues, and the rank card and leaderboard still update.

Forums and threads

If the configured channel is a forum or a media channel, the bot opens a new post per level-up, titled after the member and the level they reached.

You can also point at a specific post inside that forum instead. In that case the message is added to the existing post and no new one is created. The post you pick must belong to the channel you picked above it.

Writing the message

Level Up Message is a plain text template, up to 1500 characters. These placeholders are filled in:

PlaceholderBecomes
{user}A mention of the member
{user.name}Their username
{user.display_name}Their display name
{user.id}Their user id
{user.tag}Their username. Level-up announcements never carry a discriminator, so this renders exactly like {user.name}
{level}The level they just reached
{level_type}voice or text in Separate mode, empty in Combined and Sum
{server.name}The server name
{server.member_count}The member count

Anything the bot cannot fill in is left in the message exactly as you typed it, so a typo shows up as itself rather than as a blank.

A worked example:

Nice one {user}, you just hit level **{level}** in {server.name}!

Only the member being congratulated is pinged. Role and everyone mentions in the template are not delivered as pings.

If the message is empty and you have not linked an embed template, nothing is posted at all. That is the default state of a fresh server, so writing the message is part of switching the feature on.

Using an embed instead of plain text

You can link a saved template from the Embed Messages page to the level-up announcement. When one is linked, the announcement is sent as that template with the same placeholders filled in, which gets you embeds, images, buttons and components instead of a line of text.

If the linked template has been deleted, the bot falls back to the plain text message rather than dropping the announcement.

The voice message

In Separate mode a voice level-up is a different event from a text level-up, so it gets its own handling. Voice Level Up Message offers two choices:

  • Same message for both: voice level-ups reuse the message above. Add {level_type} somewhere so members can tell which track levelled.
  • Separate voice message: voice level-ups use their own text, written in its own box, up to 2500 characters. Leaving it empty uses the built-in default, 🎙️ {user} just reached voice level {level}!

One ordering rule is worth knowing: if you have both a linked embed template and an explicit custom voice message, the voice message wins for voice level-ups and the embed is used for text level-ups. Without a custom voice message, the embed is used for both.

In Combined and Sum mode there is a single pool, so there is only one message and {level_type} renders empty.

Reacting to a level-up with an automation

level_up is also an autoresponder trigger, so you can do more than post a message: give a temporary role, send a DM, run several steps in order. Build it on the Autoresponder page and see triggers for how to set it up.

One limitation: the trigger only fires for message level-ups. A level-up caused by voice time does not fire level_up automations, in any leveling mode. Neither does /xp.

flav-codeWritten on 8 August 2026