> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dogebot.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Built-in variables

> Values DogeBot fills in for you, every time.

**Built-in variables** are boxes DogeBot fills in **for you**. You never have to make them or save anything. They are always fresh, every time your command or event runs.

For example, `{user_name}` is always the name of the person who used the command right now.

## How to find every one of them

You never need to remember them. Next to text boxes in the builder there is a { } **Variables** button. Press it and you see **every value you can use in that exact place**, sorted into groups. Press one and it is put into your text.

<Info>
  The list changes depending on where you are. A **User** context command shows **Target User** values. A **WhatsApp flow** only shows WhatsApp, time, text, maths and logic values, never Discord ones. So if the picker shows it, it works there.
</Info>

If a value is long, the list shortens it with **…**. Point at it with your mouse to see all of it.

## Values about the person

| Variable | What it shows |
| - | - |
| `{user_name}` | The username of the person who used the command or started the event. |
| `{user_displayName}` | Their display name: the name people see in the server. |

The picker has more in this group, like their ID, their picture and when they joined.

## Values about the server

| Variable | What it shows |
| - | - |
| `{server_members}` | How many members the server has. |

The picker also has the server's name, picture and more.

## Right-click (context) commands

Context commands know **what was right-clicked**:

* **User** context commands get the **Target User** group: the member that was clicked. For example `{context_user.name}`, plus their display name, ID, mention, picture, banner, whether they are a bot, when their account was made and when they joined.
* **Message** context commands get the **message** groups: the message that was clicked, and the message it replied to, like `{context_message.reply.content}` and `{context_message.reply.author}`.

## Image cards

| Variable | What it is |
| - | - |
| `{card}` | The picture made by a **Make an image card** block. Put it in any message after that block, or in an embed or layout image field. See [Send a card from your bot](/card-studio/send-a-card-from-your-bot). |

## WhatsApp values

| Variable | What it shows |
| - | - |
| `{wa_name}` | The customer's WhatsApp profile name. |
| `{wa_from}` | The customer's phone number. |
| `{wa_text}` | The text of the message they sent. |
| `{wa_choice_title}` | The button or list choice they tapped. |
| `{hook_...}` | Each field sent to a **When a web request arrives** flow. A field called `phone` becomes `{hook_phone}`. |
| `{app_reply}` | The answer that came back from a **Send to an app** block. |

See [WhatsApp bots](/whatsapp-bots).

## Values from modules

Modules can add their own values, shown in the picker as **Module name · value name**. You can read them but not change them, for example `{leveling.user_level}` or `{economy.user_balance}`.

## Backup values

Any built-in value can have a backup in case it is empty. Write `|` and the backup after the name:

```text theme={null}
Hi {user_displayName|friend}!
```

See [Show a variable in a message](/variables/show-a-variable-in-a-message).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.