Skip to main content
There are two ways to change a value, and they look different. A pipe goes inside a placeholder, after a |, and changes whatever that placeholder gives back.
Pipe
Result
An operator is its own node and works on whatever you put after the :, whether that’s text you typed or another placeholder.
Operator
Result
Several names exist as both. Use the pipe when you already have a placeholder, and the operator when you’re working with plain text or nesting things.

Pipes

Syntax

Operators

Syntax

Logic

Use these to change what a message says depending on the situation.

if

Syntax
Shows the first value when the condition passes, and the second when it doesn’t. You can compare with ==, !=, >, <, >=, and <=.
Examples

unless

Syntax
The opposite of if. Shows the first value when the condition is empty or false.
Example

default

Syntax
Shows the value if there is one, and the fallback if there isn’t.
Example
Watch the separators. if and unless split their parts with &&, but default splits with a comma. Using the wrong one leaves the whole node showing as raw text.

Maths

Numbers are separated with +, except sub, which uses -.
Countdown to a milestone

Text

These work on text you type, or on a placeholder you nest inside them.
plural on its own is the quick version. {server.member_count} member{plural: {server.member_count}} reads correctly whether there’s one member or a thousand.

Random

Examples

What counts as empty

if, unless, and default all treat these as empty: Everything else counts as having a value.
Last modified on August 4, 2026