serenity
7 min read

Vanity Roles

Reward the members who advertise your server — in their status, or with your guild tag.

What are vanity roles?

A vanity role is what a member gets for putting your server on their profile. There are two ways to earn one, and you can run either, both, or neither:

  • Status — their custom status contains a text you choose, like /serenity.
  • Guild tag — they wear your server's tag next to their name.

Serenity watches for both and hands out the roles the moment someone qualifies, then takes them back when they stop.

This is a separate bot

Vanity roles are served by a standalone vanity bot, not the main Serenity bot. It only joins servers that have an active Serenity Premium subscription and are at Boost Level 3. If a server drops below Level 3 it gets 48 hours to get back before the bot leaves.

Every command on this page is a slash command. The vanity bot has no prefix commands at all — type /vanity and Discord will show you the whole tree.

Status vanity

Setting the trigger text

Whatever you set here is searched for anywhere inside a member's custom status, case-insensitively. A member with hi im in /serenity btw matches /serenity.

Syntax: /vanity code [text]
Example: /vanity code /serenity

Private profiles can't be read

Members who set their profile to private will never be granted the role. Their status isn't visible to regular members or bots, so there is nothing to read. They have to make their profile public for it to work — this is a Discord restriction, not something the bot can work around.

Choosing the roles

You can grant several roles at once. Separate them with commas — mentions, IDs and names all work.

Syntax: /vanity role add [roles]
Example: /vanity role add Vanity, Repper

Removing works the same way:

Syntax: /vanity role remove [roles]
Example: /vanity role remove Repper

The bot can only hand out roles below its own top role, and you can only configure roles below yours (unless you own the server). If a role sits too high, the command tells you instead of failing quietly later.

Strict mode

By default, a member who goes offline keeps the role. Their status isn't readable while they're offline, and treating that as "they stopped repping" would strip the role off everyone who's asleep.

Strict mode changes that: the roles come off the instant a member goes offline.

Syntax: /vanity strict [on/off]
Example: /vanity strict on

Strict mode applies to the status only. A guild tag stays on someone's profile whether they're online or not, so tag roles are never stripped for going offline.

Guild tag

Discord's guild tags are the second thing a member can rep your server with, and this rewards them for it. Unlike a status, a tag can't be typed by accident and stays visible while the member is offline.

Turning it on

Syntax: /vanity tag enable [on/off]
Example: /vanity tag enable on

That's the whole setup for most servers. With nothing else configured, tag reppers get the same roles, log channel and embeds as the status vanity — everything below is an optional override.

Turning it off stops the bot managing tag roles, it doesn't sweep them off everyone who already has one. Remove them yourself if that's what you want.

Giving the tag its own roles

If you'd rather tell tag reppers apart from status reppers, give the tag its own role list. As long as this list is empty, the tag shares the vanity roles.

Syntax: /vanity tag role [add/remove] [roles]
Example: /vanity tag role add Tag Gang

Emptying the list again puts it back to sharing the vanity roles.

When both share a role, a member keeps it as long as either condition holds — repping the tag is enough on its own, even with nothing in their status.

Tracking a different server's tag

By default the bot looks for this server's tag. If you run a network of servers that share one tag, point it at the server the tag belongs to:

Syntax: /vanity tag server [server id]
Example: /vanity tag server 1047121610622111806

Leave the ID out to go back to your own tag.

Tags are matched on the server, never on the 1–4 character tag text. Two servers can pick the same letters, and matching text would hand out your role for somebody else's tag.

Logging

Where events go

Set a channel and every grant and revoke is announced in it. Leave the channel out to switch logging off again.

Syntax: /vanity logs channel [channel]
Example: /vanity logs channel #vanity-log

Tag events go to the same channel unless you give them one of their own:

Syntax: /vanity tag logs [channel]
Example: /vanity tag logs #tag-log

Custom embeds

The default log message is a plain one-liner. You can replace it with your own using embed code:

/vanity logs embed grant {embed}$v{description: {user.mention} earned the vanity role}
/vanity logs embed revoke {embed}$v{description: {user.mention} lost the vanity role}

And, if you want tag events worded differently:

/vanity tag embed grant {embed}$v{description: {user.mention} is repping the tag}

Run /vanity tag embed with no script to clear the override and go back to the vanity embed.

Writing Embed CodeHere, you can learn about how to script embeds for commands that support this feature.

Checking your setup

Both halves have a status command that shows exactly what's configured, which roles are still valid, and where events are being logged.

/vanity status
/vanity tag status

Customizing the bot

customize is the same donor perk you already have on the main bot — a per-server avatar, banner and bio. The vanity bot carries its own copy, so you can brand it separately from the main one instead of both wearing the same face.

Syntax: /customize avatar [image]
Syntax: /customize banner [image]
Syntax: /customize bio [text]

These need Administrator, on top of the Premium requirement. The bio is capped at 190 characters by Discord.

Command reference

CommandWhat it does
/vanity code [text]The text a status must contain
/vanity role add [roles]Add roles to the vanity list
/vanity role remove [roles]Remove roles from the vanity list
/vanity strict [on/off]Strip roles when a member goes offline
/vanity logs channel [channel]Where grants and revokes are announced
/vanity logs embed [event] [script]Custom grant/revoke embed
/vanity statusShow the current configuration
/vanity tag enable [on/off]Track the guild tag
/vanity tag server [id]Whose tag counts — defaults to this server
/vanity tag role [add/remove] [roles]Tag-only roles
/vanity tag logs [channel]Tag-only log channel
/vanity tag embed [event] [script]Tag-only embed
/vanity tag statusShow the tag configuration
/customize avatar [image]Per-server bot avatar
/customize banner [image]Per-server bot banner
/customize bio [text]Per-server bot About Me

Common questions

Last edited