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

# Variables

> Las variables reemplazan tokens de llaves con datos que el evento actual proporciona. El parser no consulta otras cuentas ni ejecuta expresiones arbitrarias.

## Resolución y errores

Los nombres no distinguen mayúsculas. Esta guía enumera las 127 variables públicas actuales de Headless. Una variable listada sin dato para el evento produce `N/A`; un nombre desconocido o una sintaxis inválida se rechaza. El parser puede conservar identificadores internos heredados que no forman parte de este catálogo público.

## Funciones de formato

`{lower(variable)}` convierte a minúsculas y `{proper(variable)}` aplica formato de título; si el valor es numérico, `proper` agrega separadores de miles. Cada función acepta exactamente una variable conocida, no expresiones.

### Perfil y formato

```headless-script Syntax theme={null}
{user.display_name}
```

```headless-script Example theme={null}
{user.display_name} en {guild.name}
```

```headless-script Syntax theme={null}
{lower(user.name)}
```

```headless-script Example theme={null}
{lower(user.name)} · {proper(guild.count)}
```

```headless-script Syntax theme={null}
{user.mention}
```

```headless-script Example theme={null}
{user.mention} · {channel.mention}
```

## Alcance por evento

El catálogo reúne valores de eventos actuales de Headless, como datos de servidor, usuario, canal, Roblox, YouTube, niveles, boosts y moderación. Que una clave esté reconocida no significa que todo módulo tenga ese dato: usa la vista previa y espera `N/A` cuando el contexto no lo aporta. Los campos reservados para proveedores no disponibles se omiten de esta guía pública.

## Variables específicas de Headless

Los avisos de nivel agregan `{level}`, `{xp}`, `{total_xp}` y `{gained}`; también conservan `{level.new_rank}` y `{level.user_xp}`. Los anuncios de Booster Roles agregan `{boost_count}` (total del servidor), `{boost_tier}` y `{boost_since}` (fecha de boost o `N/A`). En ese evento `{boost.count}` vale `1` para quien está impulsando y `N/A` si no hay fecha de boost. Los aliases `{user}`, `{mention}`, `{username}` y `{server}` pueden tener valores adaptados a ese evento.

### Niveles y boosts

```headless-script Syntax theme={null}
{level}
```

```headless-script Example theme={null}
{user} alcanzó nivel {level}; +{gained} XP; total {total_xp}
```

```headless-script Syntax theme={null}
{boost_count}
```

```headless-script Example theme={null}
{mention} impulsó {server}: nivel {boost_tier}, {boost_count} boosts en el servidor
```

> [!NOTE]
>
> El catálogo se extrae del renderer original de Headless y se comprueba contra `build_template_context`. Algunas claves solo existen durante eventos específicos; una clave reconocida puede devolver `N/A` si el evento no aporta ese dato.

## Variables del runtime actual

Este catálogo público documenta 127 variables utilizadas por eventos actuales de Headless. Algunas variables internas heredadas no se incluyen; usa esta lista para configurar mensajes y vistas previas compatibles.

> **Servidor**
>
> ```text theme={null}
> {guild.name}
> {guild.id}
> {guild.count}
> {guild.region}
> {guild.shard}
> {guild.owner_id}
> {guild.created_at}
> {guild.created_at_timestamp}
> {guild.emoji_count}
> {guild.role_count}
> {guild.boost_count}
> {guild.boost_tier}
> {guild.preferred_locale}
> {guild.key_features}
> {guild.icon}
> {guild.banner}
> {guild.splash}
> {guild.discovery}
> {guild.max_presences}
> {guild.max_members}
> {guild.max_video_channel_users}
> {guild.afk_timeout}
> {guild.afk_channel}
> {guild.channels}
> {guild.channels_count}
> {guild.text_channels}
> {guild.text_channels_count}
> {guild.voice_channels}
> {guild.voice_channels_count}
> {guild.category_channels}
> {guild.category_channels_count}
> {guild.vanity}
> ```

> **Usuario**
>
> ```text theme={null}
> {user}
> {user.id}
> {user.mention}
> {user.name}
> {user.tag}
> {user.avatar}
> {user.guild_avatar}
> {user.display_avatar}
> {user.joined_at}
> {user.joined_at_timestamp}
> {user.created_at}
> {user.created_at_timestamp}
> {user.display_name}
> {user.boost}
> {user.boost_since}
> {user.boost_since_timestamp}
> {user.color}
> {user.top_role}
> {user.role_list}
> {user.role_text_list}
> {user.bot}
> {user.badges_icons}
> {user.badges}
> {user.join_position}
> {user.join_position_suffix}
> {author}
> {author.name}
> {author.nickname}
> {author.discriminator}
> ```

> **Canal, fecha y hora**
>
> ```text theme={null}
> {channel.name}
> {channel.id}
> {channel.mention}
> {channel.topic}
> {channel.type}
> {channel.category_id}
> {channel.category_name}
> {channel.position}
> {channel.slowmode_delay}
> {date.now}
> {date.utc_timestamp}
> {date.now_proper}
> {date.now_short}
> {date.now_shorter}
> {date.utc_now}
> {date.utc_now_proper}
> {date.utc_now_short}
> {date.utc_now_shorter}
> {time.now}
> {time.now_military}
> {time.utc_now}
> {time.utc_now_military}
> ```

> **Roblox**
>
> ```text theme={null}
> {roblox.name}
> {roblox.id}
> {roblox.followers}
> {roblox.following}
> {roblox.display_name}
> {roblox.description}
> {roblox.verified}
> {roblox.premium}
> {roblox.rap}
> {roblox.created}
> {roblox.created.raw}
> {roblox.created.short}
> {roblox.age}
> {roblox.banned}
> {roblox.last_online}
> {roblox.last_online.raw}
> {roblox.last_online.short}
> {roblox.avatar}
> {roblox.badges}
> {roblox.previous_names}
> {roblox.url}
> ```

> **YouTube**
>
> ```text theme={null}
> {youtube.channel.name}
> {youtube.channel.url}
> {youtube.channel.id}
> {youtube.video.url}
> {youtube.video.title}
> {youtube.video.thumbnail_url}
> ```

> **Niveles, boosts y moderación**
>
> ```text theme={null}
> {level.new_rank}
> {level.user_xp}
> {boost.count}
> {bumpreminder.last_user_bump}
> {bumpreminder.next_bump}
> {moderator}
> {moderator.name}
> {moderator.tag}
> {moderator.avatar}
> {moderator.bot}
> {moderator.color}
> {moderator.mention}
> {moderator.created_at}
> {moderator.id}
> {reason}
> {duration}
> {invite_url}
> ```

## Pasos

**1. Elige la ruta del módulo**

Confirma dónde se usará el texto antes de elegir una variable.

**2. Inserta el token**

Escribe el nombre entre llaves, respetando los puntos de los nombres anidados.

**3. Previsualiza un evento real**

Comprueba reemplazos y valores `N/A` con el comando preview cuando esté disponible.

## Páginas relacionadas

* [Variables de Tickets](/docs/server/tickets/variables.md)
* [Welcome](/docs/server/welcome.md)
* [Sticky Messages](/docs/server/sticky-messages.md)


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