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

# Variables Overview

> Dynamic placeholders to personalize your Flare messages and embeds.

## Overview

Variables (also known as placeholders) allow you to inject dynamic information into your Flare messages. When Flare sends a message, it automatically replaces the variable with the actual data at that exact moment.

For example, if you use `{user.mention}` in a welcome message, Flare will replace it with an actual tag of the user who just joined: `@Flame`.

### Why use Variables?

* **Personalization:** Makes automated messages feel tailored to the individual.
* **Dynamic Embeds:** Build complex profiles or info-panels that update automatically.
* **Flexibility:** Use them in Welcome Messages, Auto-Poster, Custom Commands, and more.

***

## Variable Categories

Flare supports hundreds of variables, categorized logically based on what data they pull.

<CardGroup cols={3}>
  <Card title="User Variables" icon="user" href="/variables/user">
    Information about the user triggering the action (e.g., `{user.name}`, `{user.id}`).
  </Card>

  <Card title="Guild Variables" icon="server" href="/variables/guild">
    Information about the server (e.g., `{guild.memberCount}`, `{guild.name}`).
  </Card>

  <Card title="Member Variables" icon="id-card" href="/variables/member">
    Server-specific user info (e.g., `{member.nickname}`, `{member.joinedAt}`).
  </Card>

  <Card title="Channel Variables" icon="hashtag" href="/variables/channel">
    Data about the current text channel (e.g., `{channel.name}`, `{channel.topic}`).
  </Card>

  <Card title="Role Variables" icon="shield" href="/variables/role">
    Data about specific roles (e.g., `{role.color}`, `{role.members}`).
  </Card>

  <Card title="Time Variables" icon="clock" href="/variables/time">
    Formatted timestamps (e.g., `{time.current}`, `{time.date}`).
  </Card>
</CardGroup>

***

## Syntax & Usage

All variables in Flare must be wrapped in curly braces: `{}`.

### Basic Example

In the **Welcome** module, you might set your welcome message to:

> Welcome to **{guild.name}**, {user.mention}! We now have **{guild.memberCount}** members.

### Embed Variables

Variables aren't just for text! You can use them inside Embed Builders on the dashboard.

* Place `{user.avatarURL}` inside the **Thumbnail URL** field to display the joining user's profile picture.
* Place `{guild.iconURL}` in the **Author Icon** field.

***

## Advanced: Conditionals & Logic

*(Premium Feature)*

Flare Premium allows you to use basic logical statements inside your messages using the `{{ }}` syntax (coming soon in v2.4).

<CodeGroup>
  ```text Conditional Example (Coming Soon) theme={null}
  {{ if {user.bot} }}
  Welcome to the server, beep boop!
  {{ else }}
  Welcome to the server, {user.mention}!
  {{ endif }}
  ```
</CodeGroup>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="My variable is showing up as raw text (e.g., '{user.name}')">
    This happens if you misspell a variable, or if the variable doesn't exist in the context you are using it. For example, `{role.name}` will not work in a general welcome message because no specific role is involved in the event.
  </Accordion>

  <Accordion title="The avatar URL is showing as text instead of an image">
    If you are building an embed, ensure you paste `{user.avatarURL}` into an **Image URL** or **Thumbnail URL** field on the dashboard, rather than the description field.
  </Accordion>
</AccordionGroup>

## Next Steps

Explore the full lists of available variables:

* 👉 [User Variables](/variables/user)
* 👉 [Guild Variables](/variables/guild)
