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

# Variables

> Cada {variable} que entiende Petto: qué da, un ejemplo y dónde funciona.

Una variable es una palabra entre llaves, como `{user}` o `{server_name}`, que Petto cambia por datos reales cuando envía un mensaje. Escribe `¡Bienvenido {user} a {server_name}!` y el miembro nuevo lee **¡Bienvenido @Liam a Cozy Corner!**

Esta página lista **todas las variables** que conoce Petto, agrupadas según de dónde vienen sus datos. Los ejemplos usan a un miembro llamado Liam (nombre de usuario `liam`) que entra a un servidor llamado **Cozy Corner** con 1,204 miembros.

> [!TIP]
>
> No tienes que memorizar nada de esto. El [dashboard](https://petto.sbs/dash) tiene una lista de variables con buscador y un botón de copiar al lado de cada campo que acepta variables, y `!embed vars` muestra la lista dentro de Discord.

> [card] [Cómo se resuelven las variables](https://wiki.petto.sbs/es/concepts/variables-engine.md)
>
> Las reglas detrás de escena: el orden, los valores vacíos, las pruebas.

> [card] [¿Necesitas lógica o bucles?](https://wiki.petto.sbs/es/automation/petto-code.md)
>
> Petto Code (`{{ }}`) agrega `if`, bucles, datos y botones. Documentación completa en [code.petto.sbs](https://code.petto.sbs).

> [!NOTE]
>
> Una variable escrita con otras mayúsculas, puntos o guiones bajos que la real (`{user.displayname}`, `{server_member_count}`) sigue funcionando cuando solo puede significar una variable. Lo dudoso se deja como se escribió, y los editores de tarjetas y embeds del dashboard señalan las variables que Petto no conoce.

## Escribir variables

* **Las mayúsculas y los espacios no importan.** `{user.mention}`, `{User.Mention}` y `{ user.mention }` funcionan todas.
* **Los nombres de otros bots también funcionan.** `{mention}`, `{member}`, `{username}`, `{server}`, `{level.xp}` y otros se leen como su equivalente de Petto (lista completa abajo).
* **Una variable que Petto no conoce se queda como la escribiste.** `{usr}` aparece como `{usr}`, así que un error de escritura es fácil de ver.
* **Una variable sin datos en ese mensaje queda vacía.** `{level}` en un mensaje de bienvenida no tiene ningún nivel que mostrar, así que desaparece. Algunas lo dicen en su lugar: `N/A`, `Desconocido`, `Nunca`, `Sin boost`.
* **Los valores nunca se vuelven a leer.** Si el mensaje de un miembro contiene `{server_owner}`, `{message_content}` muestra ese texto tal cual, no se convierte en una mención.
* **No hay filtros ni condiciones.** Cosas como `{user.name|upper}` o "si tiene boost, di X" no son parte de las variables. Para eso, escribe un comando personalizado en [Petto Code](https://wiki.petto.sbs/es/automation/petto-code.md).
* **Las funciones no pueden contener otras variables.** `{choose:Hola {user}|Hey}` no funciona. Pon la variable afuera: `{choose:Hola|Hey} {user}!`
* **No hay carácter de escape.** Una variable que Petto conoce se reemplaza incluso dentro del formato `code`. Para mostrar una como texto, por ejemplo en un mensaje de ayuda, descríbela con palabras.
* **Los límites de Discord siguen aplicando.** El texto después del reemplazo tiene que caber en el mensaje: 2,000 caracteres para un mensaje, 4,096 para la descripción de un embed, 256 para un título, 100 para el nombre de un canal o hilo.

> [accordion] Nombres de otros bots que Petto entiende
>
> | Escribes | Petto lo lee como |
> | - | - |
> | `{mention}`, `{user_mention}`, `{member}`, `{member.mention}`, `{user.ping}` | `{user}` |
> | `{user.tag}` | `{user_tag}` |
> | `{username}`, `{user.username}` | `{user_name}` |
> | `{user.nickname}`, `{member.name}` | `{user.display_name}` |
> | `{nickname}`, `{user.nick}` | `{user_nick}` |
> | `{user.discriminator}` | `{user_discrim}` |
> | `{user.avatar_url}` | `{user.avatar}` |
> | `{user.display_avatar_url}` | `{user.display_avatar}` |
> | `{member.id}` | `{user.id}` |
> | `{server}`, `{server.name}`, `{guild}` | `{server_name}` |
> | `{server.id}` | `{server_id}` |
> | `{server.members}` | `{server_membercount}` |
> | `{server.icon}` | `{server_icon}` |
> | `{channel.link}` | `{channel}` |
> | `{message.link}`, `{message.id}`, `{message.content}` | `{message_link}`, `{message_id}`, `{message_content}` |
> | `{level.level}`, `{level.current}` | `{level}` |
> | `{level.xp}`, `{level.total_xp}` | `{level_xp}` |
> | `{level.rank}`, `{level.total}`, `{level.rank_total}` | `{level_rank}`, `{level_rank_total}`, `{level_rank_total}` |
> | `{level.next}`, `{level.previous}`, `{level.progress}`, `{level.bar}` | `{level_next}`, `{level_previous}`, `{level_progress}`, `{level_bar}` |
> | `{level.xp_needed}`, `{level.xp_current}`, `{level.xp_to_next}` | `{level_xp_needed}`, `{level_xp_current}`, `{level_xp_to_next}` |
> | `{level.streak}`, `{level.messages}`, `{level.voice_minutes}`, `{level.type}` | `{level_streak}`, `{level_messages}`, `{level_voice_minutes}`, `{level_type}` |
> | `{level.role}`, `{level.role_name}` | `{level_role}`, `{level_role_name}` |
>
> Como las mayúsculas no importan, `{USER_MENTION}` y `{Server}` también funcionan.

Un `!` justo antes de una mención, incluso antes de `{user.mention}`, la vuelve una [mención silenciosa](https://wiki.petto.sbs/es/concepts/variables-engine.md#menciones-silenciosas): se ve como mención y no avisa a nadie.

## Dónde funciona cada grupo

Los grupos de [Todos los mensajes](#todos-los-mensajes) funcionan en todos los lugares que aceptan variables. Los demás solo tienen datos en el mensaje de su función.

| Función | Grupos con datos |
| - | - |
| [Bienvenida](https://wiki.petto.sbs/es/onboarding/welcome.md), [MD al entrar](https://wiki.petto.sbs/es/onboarding/dm-on-join.md) | Todos los mensajes, [Invitaciones](#invitaciones) |
| [Despedida](https://wiki.petto.sbs/es/onboarding/leave.md), [Boost](https://wiki.petto.sbs/es/onboarding/boost.md), [Cumpleaños](https://wiki.petto.sbs/es/community/birthdays.md) | Todos los mensajes (el miembro es quien se va, da boost o celebra) |
| [Comandos personalizados](https://wiki.petto.sbs/es/automation/custom-commands.md) | Todos los mensajes, [Mensaje que lo activa](#mensaje-que-lo-activa), [Argumentos del comando](#argumentos-del-comando) |
| [Autorrespuestas](https://wiki.petto.sbs/es/automation/autoresponder.md) | Todos los mensajes, [Mensaje que lo activa](#mensaje-que-lo-activa), [Argumentos del comando](#argumentos-del-comando) (el texto después del activador) |
| [Mensajes de subida de nivel](https://wiki.petto.sbs/es/community/leveling.md#notificaciones), tarjetas de rank | Todos los mensajes, [Niveles](#niveles), [Mensaje que lo activa](#mensaje-que-lo-activa) para las subidas de nivel por texto |
| [Sorteos](https://wiki.petto.sbs/es/community/giveaways.md) | Todos los mensajes, [Sorteos](#sorteos). `{user}` es el ganador en los mensajes de ganador |
| [Recordatorio de bump](https://wiki.petto.sbs/es/onboarding/bump-reminder.md) | Todos los mensajes, [Bump](#recordatorio-de-bump) |
| [Mensajes de sanción](https://wiki.petto.sbs/es/moderation/moderation.md#mensajes-de-sanciones) | Todos los mensajes, [Sanciones](#sanciones) |
| [Starboard](https://wiki.petto.sbs/es/automation/starboard.md) / [Monkeyboard](https://wiki.petto.sbs/es/automation/monkeyboard.md) / [Clownboard](https://wiki.petto.sbs/es/automation/clownboard.md) | Todos los mensajes, [Starboard](#starboard) / [Monkeyboard](#monkeyboard) / [Clownboard](#clownboard) |
| [Sugerencias](https://wiki.petto.sbs/es/community/suggestions.md), [Confesiones](https://wiki.petto.sbs/es/community/confessions.md) | Todos los mensajes, [Sugerencias](#sugerencias), [Confesiones](#confesiones) |
| [Encuestas](https://wiki.petto.sbs/es/community/polls.md), [Partners](https://wiki.petto.sbs/es/community/partners.md), [Solicitudes](https://wiki.petto.sbs/es/community/requests.md), [Formularios](https://wiki.petto.sbs/es/community/forms.md) | Todos los mensajes, más su propio grupo |
| [Honeypot](https://wiki.petto.sbs/es/moderation/honeypot.md), [Contadores](https://wiki.petto.sbs/es/miscellaneous/counters.md#anuncios-de-metas), [Verificación](https://wiki.petto.sbs/es/onboarding/verification.md) | Todos los mensajes, más su propio grupo |
| [Vanity y Server Tag](https://wiki.petto.sbs/es/guides/vanity-tag-bot.md), [Misiones](https://wiki.petto.sbs/es/automation/quests.md), [Rollouts](https://wiki.petto.sbs/es/automation/rollouts.md) | Todos los mensajes, más su propio grupo |
| [Feeds](https://wiki.petto.sbs/es/automation/feeds.md) | Solo el grupo [Feeds](#feeds) (las palabras sobre cada aviso) |
| [Mensajes fijos](https://wiki.petto.sbs/es/automation/sticky-messages.md) (solo con embed guardado), [Reaction roles](https://wiki.petto.sbs/es/automation/reaction-roles.md), [Respuestas de botones](https://wiki.petto.sbs/es/automation/button-responders.md), [Auto-hilo](https://wiki.petto.sbs/es/automation/autothread.md), [Subidas](https://wiki.petto.sbs/es/community/uploads.md) | Todos los mensajes |
| [Embeds](https://wiki.petto.sbs/es/resources/scripting/embeds.md) guardados y [tarjetas de imagen](https://wiki.petto.sbs/es/resources/image-cards.md) | Lo que dé la función que los envía |

Algunas funciones también tienen **sus propios placeholders** que no son parte de este motor, como `{count}` en los nombres de contadores o `{number}` en los nombres de tickets. Están en [Placeholders de una función](#placeholders-de-una-función). Los [timers](https://wiki.petto.sbs/es/automation/timers.md) envían su texto exactamente como está escrito, sin variables.

***

## Todos los mensajes

### Usuario

El miembro del que trata el mensaje: quien entró, quien escribió el activador, quien subió de nivel, quien usó el comando.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{user}` | Menciona al miembro | @Liam |
| `{user.mention}` | Menciona al miembro (igual que `{user}`) | @Liam |
| `{user.name}` | Nombre de usuario | liam |
| `{user.id}` | ID del usuario | 293504726505357312 |
| `{user.avatar}` | Enlace del avatar (global) | `https://cdn.discordapp.com/avatars/…` |
| `{user.display_avatar}` | Avatar del servidor, o el global | `https://cdn.discordapp.com/…` |
| `{user.avatar_decoration}` | Imagen de su decoración de avatar, vacío si no tiene | `https://cdn.discordapp.com/…` |
| `{user.nameplate}` | Imagen de su placa de nombre, vacío si no tiene | `https://cdn.discordapp.com/…` |
| `{user.server_tag}` | Texto de su etiqueta de servidor, vacío si no tiene | PTT |
| `{user.server_tag_badge}` | Imagen de la insignia de su etiqueta de servidor, vacío si no tiene | `https://cdn.discordapp.com/…` |
| `{user.display_name}` | Nombre en este servidor (apodo, o nombre de usuario) | Liam |
| `{user.joined_at}` | Fecha en que entró a este servidor | 10/19/2026 |
| `{user.joined_at_timestamp}` | Esa fecha como número unix | 1792368000 |
| `{user.created_at}` | Fecha en que se creó la cuenta | 7/1/2020 |
| `{user.created_at_timestamp}` | Esa fecha como número unix | 1593561600 |
| `{user.account_age}` | Antigüedad de la cuenta | 6 años |
| `{user.account_age_days}` | Lo mismo, en días | 2300 |
| `{user.joined_age}` | Cuánto tiempo lleva en este servidor | 3 meses |
| `{user.boost}` | Si da boost al servidor | Sí / No |
| `{user.boost_since}` | Fecha en que empezó a dar boost | 7/1/2026, o Sin boost |
| `{user.boost_since_timestamp}` | Esa fecha como número unix, vacío si no da boost | 1782864000 |
| `{user.color}` | Color de su rol con color más alto, en hex | #f0a88f |
| `{user.top_role}` | Nombre de su rol más alto | Booster |
| `{user.role_list}` | Todos sus roles, como menciones | @Miembro, @Booster |
| `{user.bot}` | Si la cuenta es un bot | No |
| `{user.join_position}` | Qué número de miembro fue, por fecha de entrada | 1204 |
| `{user.join_position_suffix}` | Lo mismo, como ordinal | 1204.º |

![chu crea un embed con variables \{user.\*} y Petto lo muestra lleno: la mención de chu, su usuario, ID, fecha y puesto de entrada, rol más alto, color, roles y No en mejora](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-user.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=39b4d0c6df363840539b71f49dd13141)

En Discord: un embed guardado hecho con un código con las variables de User, lleno con chu.

> [!TIP]
>
> Convierte los números `_timestamp` en una fecha que se muestra en la zona horaria de cada lector: `<t:{user.created_at_timestamp}:R>` da "hace 6 años", `<t:{user.joined_at_timestamp}:D>` da "19 de octubre de 2026".

### Usuario (antiguas)

Los nombres originales. Siguen funcionando y dan lo mismo que su versión con punto.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{user_tag}` | Nombre de usuario (igual que `{user.name}`) | liam |
| `{user_name}` | Nombre de usuario | liam |
| `{user_avatar}` | Enlace del avatar | `https://cdn.discordapp.com/avatars/…` |
| `{user_id}` | ID del usuario | 293504726505357312 |
| `{user_discrim}` | Discriminador antiguo, `0` en los nombres de usuario nuevos | 0 |
| `{user_nick}` | Nombre en este servidor | Liam |
| `{user_joindate}` | Fecha en que entró a este servidor | 10/19/2026 |
| `{user_createdate}` | Fecha en que se creó la cuenta | 7/1/2020 |
| `{user_displaycolor}` | Color del rol más alto en hex (`#000000` si no hay) | #f0a88f |
| `{user_boostsince}` | Fecha en que empezó a dar boost | Sin boost |

![chu crea un embed con \{user\_name}, \{user\_nick} y los otros nombres antiguos, y Petto los llena, con No mejora al final](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-user-legacy.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=f965915e65cb034672897eca87e0664d)

En Discord: los nombres antiguos dan los mismos datos.

### Servidor

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{server_name}` | Nombre del servidor | Cozy Corner |
| `{server_id}` | ID del servidor | 707307527846625280 |
| `{server_prefix}` | En comandos personalizados, el prefijo que se escribió. En otros lugares muestra `/` | ! |
| `{server_membercount}` | Miembros, bots incluidos | 1204 |
| `{server_membercount_ordinal}` | Lo mismo, como ordinal | 1204.º |
| `{server_membercount_nobots}` | Miembros sin bots | 1198 |
| `{server_membercount_nobots_ordinal}` | Lo mismo, como ordinal | 1198.º |
| `{server_botcount}` | Bots | 6 |
| `{server_botcount_ordinal}` | Bots, como ordinal | 6.º |
| `{server_icon}` | Enlace del ícono del servidor | `https://cdn.discordapp.com/icons/…` |
| `{server_rolecount}` | Roles | 38 |
| `{server_channelcount}` | Canales | 54 |
| `{server_randommember}` | Menciona a un miembro al azar | @Mia |
| `{server_randommember_tag}` | Nombre de usuario de un miembro al azar | mia |
| `{server_randommember_nobots}` | Menciona a un miembro al azar que no sea bot | @Noah |
| `{server_owner}` | Menciona al dueño | @Ana |
| `{server_owner_id}` | ID del dueño | 1100000000000000001 |
| `{server_createdate}` | Fecha en que se creó el servidor | 7/1/2020 |
| `{server_boostlevel}` | Nivel de boost, de 0 a 3 | 2 |
| `{server_boostcount}` | Boosts | 9 |
| `{server_nextboostlevel}` | El siguiente nivel de boost (3 como máximo) | 3 |
| `{server_nextboostlevel_required}` | Boosts que necesita ese nivel (2, 7 o 14) | 14 |
| `{server_nextboostlevel_until_required}` | Boosts que todavía faltan para él | 5 |

![Petto llena el dueño, la fecha de creación, 1840 miembros con personas y bots contados aparte, las mejoras y un miembro al azar](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-server.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=ee0e9d591f821d84090fabfc2c40b7b3)

En Discord: las variables de Server con los números de Petto Land.

> [!NOTE]
>
> Las cantidades sin bots, la cantidad de bots, la posición de entrada y el miembro al azar se calculan con los miembros que Petto tiene cargados. En servidores muy grandes pueden variar un poco.

### Guild

Versiones con punto de los datos del servidor, más algunos extras.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{guild.name}` | Nombre del servidor | Cozy Corner |
| `{guild.id}` | ID del servidor | 707307527846625280 |
| `{guild.count}` | Miembros | 1204 |
| `{guild.icon}` | Enlace del ícono, `N/A` si no hay | `https://cdn.discordapp.com/icons/…` |
| `{guild.banner}` | Enlace del banner, `N/A` si no hay | N/A |
| `{guild.owner_id}` | ID del dueño | 1100000000000000001 |
| `{guild.created_at}` | Fecha en que se creó el servidor | 7/1/2020 |
| `{guild.created_at_timestamp}` | Esa fecha como número unix | 1593561600 |
| `{guild.emoji_count}` | Emojis personalizados | 42 |
| `{guild.role_count}` | Roles | 38 |
| `{guild.boost_count}` | Boosts | 9 |
| `{guild.boost_tier}` | Nivel de boost en palabras | Nivel 2, o Sin nivel |
| `{guild.channels_count}` | Canales | 54 |
| `{guild.vanity}` | Invitación vanity, `N/A` si no hay | discord.gg/cozy |
| `{guild.region}` | El idioma configurado del servidor | en-US |
| `{guild.max_members}` | Límite de miembros | 500000 |

![Petto llena la cantidad de miembros, el nivel de mejoras, roles, canales, emojis, fecha de creación, vanity y límite de miembros de Petto Land](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-guild.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=b37fdea4508a8a0c811e8eb5db1f4649)

En Discord: las variables de Guild, con Nivel 2 en palabras y N/A para una vanity que el servidor no tiene.

### Canal

El canal donde se envía el mensaje (en un MD al entrar, el MD).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{channel}` | Menciona el canal | #general |
| `{channel.mention}` | Menciona el canal | #general |
| `{channel.name}` | Nombre del canal | general |
| `{channel.id}` | ID del canal | 1498210265458675853 |
| `{channel.topic}` | Tema del canal, `N/A` si no hay | ¡Saluden! |
| `{channel_name}` | Nombre del canal (antigua) | general |
| `{channel_createdate}` | Fecha en que se creó el canal (antigua) | 7/1/2020 |

![chu crea el embed en general y Petto llena la mención, el nombre, el ID y el tema de general](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-channel.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=12dc42b447eec807ed3ea12aebbda4d0)

En Discord: las variables de Channel para el canal del mensaje.

### Invitaciones

Solo en [mensajes de bienvenida](https://wiki.petto.sbs/es/onboarding/welcome.md) y [MD al entrar](https://wiki.petto.sbs/es/onboarding/dm-on-join.md): la invitación que usó el miembro nuevo. Petto necesita **Gestionar servidor** para ver las invitaciones.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{inviter}` | Menciona a quien lo invitó, o Desconocido | @Mia |
| `{inviter.name}` | Nombre visible de quien lo invitó, o Desconocido | Mia |
| `{inviter.id}` | ID de quien lo invitó | 1100000000000000002 |
| `{inviter.invites}` | Cuántas invitaciones tiene ahora esa persona | 12 |
| `{invite.code}` | El código de la invitación | cozy |

![Petto le da la bienvenida a Mia en el canal de bienvenidas, invitada por kira que ahora tiene 12 invitaciones, con el código de la invitación](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-invites.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=57dbfe2f880056426006eae5bb983ece)

En Discord: una bienvenida con las variables de Invites.

### Fecha y hora

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{date}` | La fecha de hoy, hora de Colombia (GMT-5) | 10/19/2026 |
| `{date.now}` | Igual que `{date}` | 10/19/2026 |
| `{date.utc_now}` | Fecha y hora en UTC | Mon, 19 Oct 2026 17:00:00 GMT |
| `{date.utc_timestamp}` | Este momento como número unix | 1792429200 |
| `{timestamp}` | Este momento, mostrado en la zona horaria de cada lector | 19 de octubre de 2026 12:00 |
| `{timestamp.unix}` | Este momento como número unix, para armar tu propio `<t:…>` | 1792429200 |
| `{timestamp.short_time}` | Hora y minutos | 12:00 |
| `{timestamp.long_time}` | Hora, minutos y segundos | 12:00:00 |
| `{timestamp.short_date}` | Fecha corta | 19/10/2026 |
| `{timestamp.long_date}` | Fecha larga | 19 de octubre de 2026 |
| `{timestamp.full}` | Fecha y hora | 19 de octubre de 2026 12:00 |
| `{timestamp.full_long}` | Día de la semana, fecha y hora | lunes, 19 de octubre de 2026 12:00 |
| `{timestamp.short_datetime}` | Fecha corta y hora | 19/10/2026, 12:00 |
| `{timestamp.medium_datetime}` | Fecha corta y hora con segundos | 19/10/2026, 12:00:00 |
| `{timestamp.relative}` | "justo ahora", y sigue contando | hace 5 minutos |
| `{timestamp:<when>\|<style>}` | Cualquier momento que escribas, en cualquier estilo | mira abajo |

![Petto llena la fecha de hoy, la hora actual y hace cuánto, una hora dentro de 2 horas y la fiesta de Año Nuevo el 31 de diciembre](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-date-time.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=602efa8aa0039c9a668a3baecfcad603)

En Discord: \{date}, \{timestamp} y dos momentos escritos; las marcas de tiempo se ven en la zona horaria de cada lector.

`{timestamp:…}` lee el momento como lo dirías: `in 2h`, `3d 4h`, `tomorrow 8pm`, `today 18:30`, `2026-12-31 23:59`, un número unix o un timestamp de Discord. Las horas se leen en hora de Colombia (GMT-5), a menos que terminen en `utc` (`2026-12-31 23:59 utc`). Después de `|` va el estilo: `short_time`, `long_time`, `short_date`, `long_date`, `full`, `full_long`, `short_datetime`, `medium_datetime` o `relative` (o las letras de Discord `t T d D f F s S R`). Sin estilo es `full`. Un momento que Petto no puede leer no da nada.

```text Ejemplos theme={null}
El evento empieza el {timestamp:2026-12-31 18:00|full_long} ({timestamp:2026-12-31 18:00|relative})
→ El evento empieza el jueves, 31 de diciembre de 2026 18:00 (dentro de 2 meses)

Las puertas abren {timestamp:in 2h|R}
→ Las puertas abren dentro de 2 horas
```

> [!NOTE]
>
> Los timestamps de Discord (todas las variables `{timestamp…}`) se muestran en el texto del mensaje, las descripciones de los embeds y los campos. En los títulos, pies y nombres de autor de los embeds Discord muestra el código `<t:…>` tal cual, así que usa `{date}` ahí.

### Funciones

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{choose:a\|b\|c}` | Una de las opciones al azar, elegida de nuevo cada vez | b |
| `{range:1-100}` | Un número entero al azar del primero al segundo | 42 |
| `{newline}` | Un salto de línea, útil en comandos donde no puedes pulsar Enter | |
| `{separator}` | Una línea divisoria | ────────────────────── |

![Petto muestra un resultado de dado, una línea divisoria y uno de tres juegos elegido al azar](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-functions.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=691b987f0bfc0d2c234a748c0aa6f813)

En Discord: \{range}, \{separator}, \{choose} y \{newline}.

`{choose1:…}`, `{choose2:…}` y así sucesivamente funcionan igual, si te gusta numerarlos. Cada uno se elige por separado.

### Acciones e imágenes

| Variable | Qué hace |
| - | - |
| `{reactreply:emoji}` | Petto reacciona con ese emoji al mensaje que envía. Repítelo para más reacciones (`{reactreply:👍}{reactreply:👎}`). Si la respuesta es solo esto, Petto reacciona en cambio al mensaje que la activó. Funciona en comandos personalizados, autorrespuestas, subidas de nivel, mensajes de bienvenida, despedida y boost, mensajes fijos, paneles y embeds guardados |
| `{imgcard:name}` | Dibuja la [tarjeta de imagen](https://wiki.petto.sbs/es/resources/image-cards.md) llamada `name` y la pone en el primer embed (o arriba de un diseño V2). `{imgcard:name\|attachment}` envía la imagen sola. Solo cuenta la primera, y el token en sí se quita del texto |

![Una votación de pizza o tacos de Petto en general con las reacciones 🍕 y 🌮 debajo](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-actions.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=cac30cb7d3543a7d56202fd4f6fd7c84)

En Discord: un embed guardado con dos \{reactreply:...}: Petto reacciona a su propio mensaje.

***

### Nombres de otros bots

Estos nombres, que usan otros bots, también funcionan y dan lo mismo que la variable de Petto de la derecha. Se escriben igual con mayúsculas o minúsculas.

| Nombre | Equivale a |
| - | - |
| `{boost.count}` | `{server_boostcount}` |
| `{boost.level}`, `{boost.tier}` | `{server_boostlevel}` |
| `{boost.next_level}` | `{server_nextboostlevel}` |
| `{boost.required}` | `{server_nextboostlevel_required}` |
| `{boost.remaining}`, `{boost.until_next}` | `{server_nextboostlevel_until_required}` |
| `{level.new_rank}`, `{level.new_level}` | `{level}` |
| `{level.old_rank}`, `{level.old_level}` | `{level_previous}` |
| `{level.user_xp}` | `{level_xp}` |
| `{level.user_rank}` | `{level_rank}` |
| `{guild.members}`, `{guild.member_count}` | `{guild.count}` |
| `{server.member_count}` | `{server_membercount}` |
| `{user.joined}` | `{user.joined_at}` |
| `{user.created}` | `{user.created_at}` |

![chu usa \{mention}, \{username}, \{server}, \{server.members} y \{boost.\*} y Petto los llena](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-other-bots.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=c2efb76283d0c75701d748d24bc913f0)

En Discord: los nombres de otros bots funcionan como su variable de Petto.

## Variables de un evento

### Mensaje que lo activa

El mensaje que activó la respuesta. Funciona en autorrespuestas, comandos personalizados, auto-hilo y subidas de nivel por texto.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{message_link}` | Enlace a ese mensaje | `https://discord.com/channels/…/…/…` |
| `{message_id}` | Su ID | 1498210265458675853 |
| `{message_content}` | Su texto | buenos días a todos |

![nova dice buenos días y Petto responde citando \{message\_content} con el enlace del mensaje](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-triggering-message.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=ce4faf6e89cd0521ba916ff11590abfd)

En Discord: una autorrespuesta que cita el mensaje que la activó.

### Argumentos del comando

Lo que el miembro escribió después del nombre del comando en un [comando personalizado](https://wiki.petto.sbs/es/automation/custom-commands.md), o después del activador en una [autorrespuesta](https://wiki.petto.sbs/es/automation/autoresponder.md). El texto entre comillas cuenta como un solo argumento. Las menciones que escribe el miembro nunca notifican a nadie a través de estas.

Los ejemplos son para `!hug Mia "gran mundo" ahora`:

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{args}` | Todo lo que va después del comando, tal como se escribió | Mia "gran mundo" ahora |
| `{arguments}`, `{args_raw}` | Igual que `{args}` | Mia "gran mundo" ahora |
| `{arg1}` … `{arg10}` | Un argumento, por posición | `{arg2}` → gran mundo |
| `{args_from:N}` | Todos los argumentos desde la posición N | `{args_from:2}` → gran mundo ahora |
| `{arg_count}` | Cuántos argumentos hay | 3 |
| `{command_name}` | El comando usado (el activador, en una autorrespuesta) | hug |
| `{prefix}` | El prefijo usado (vacío en una autorrespuesta) | ! |

![kira escribe !hug con Mia, un texto entre comillas y una palabra, y Petto llena \{arg1}, \{arg\_count}, \{args}, \{args\_from:2} y el comando](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-arguments.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=fea05460b721050f9b9ad4b547efe12b)

En Discord: un comando personalizado con sus argumentos.

### Niveles

En el [mensaje de subida de nivel](https://wiki.petto.sbs/es/community/leveling.md#notificaciones), su embed guardado y las [tarjetas de rank](https://wiki.petto.sbs/es/resources/image-cards.md).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{level}` | El nivel alcanzado | 12 |
| `{level_next}` | El siguiente nivel | 13 |
| `{level_previous}` | El nivel anterior | 11 |
| `{level_xp}` | XP total | 23,450 |
| `{level_xp_current}` | XP ganada dentro de este nivel | 1,420 |
| `{level_xp_needed}` | XP que necesita este nivel para completarse | 2,350 |
| `{level_xp_to_next}` | XP que todavía falta para el siguiente nivel | 930 |
| `{level_progress}` | Progreso hacia el siguiente nivel, de 0 a 100 | 60 |
| `{level_bar}` | Una barra de progreso de 10 segmentos | ▰▰▰▰▰▰▱▱▱▱ |
| `{level_rank}` | Puesto en la clasificación | 3 |
| `{level_rank_total}` | Miembros en la clasificación | 120 |
| `{level_top_percent}` | El porcentaje del top en el que está, un decimal | 2.5 |
| `{level_streak}` | Días seguidos con actividad | 4 |
| `{level_messages}` | Mensajes contados | 3,210 |
| `{level_voice_minutes}` | Minutos en voz contados | 540 |
| `{level_type}` | `text` o `voice` | text |
| `{level_role}` | El rol de recompensa que acaba de ganar, como mención (vacío si no hay) | @Nivel 10 |
| `{level_role_name}` | El nombre de ese rol | Nivel 10 |

![Petto dice que chu llegó al nivel 12, con una barra de 10 segmentos, la XP que falta, el puesto 3 de 120 y el rol Habitual](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-leveling.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=d8bda02ca261c892b2c4bd7cd85c2032)

En Discord: un mensaje de subida de nivel con su barra de progreso y rol de premio.

En el texto de subida de nivel (no en los embeds guardados), `{EMOJI}` se reemplaza por el ícono de estrella de Petto.

### Sorteos

En los mensajes de sorteos y sus embeds guardados.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{gw.prize}` | El premio | Discord Nitro |
| `{gw.winners}` | Cantidad de ganadores | 3 |
| `{gw.winner_text}` | La línea de los ganadores | ¡3 ganadores afortunados! |
| `{gw.entries}` | Participaciones hasta ahora | 87 |
| `{gw.host}` | Menciona al anfitrión | @Ana |
| `{gw.host_name}` | Nombre de usuario del anfitrión | ana |
| `{gw.host_avatar}` | Enlace del avatar del anfitrión | `https://cdn.discordapp.com/avatars/…` |
| `{gw.ends}` | Cuándo termina, relativo | dentro de 2 días |
| `{gw.timestamp}` | Igual que `{gw.ends}` | dentro de 2 días |
| `{gw.duration}` | El final como número unix, para tu propio `<t:…>` | 1792602000 |
| `{gw.claim_time}` | Tiempo que tiene un ganador para reclamar (en el mensaje de reclamo) | 10 minutos |
| `{gw.reaction}` | El emoji para participar en el modo de reacción | 🎉 |
| `{gw.entry_mode}` | `reacciona con` o `haz clic en` | haz clic en |
| `{gw.entry_text}` | Cómo participar | ¡Haz clic en el botón de abajo para participar! |
| `{gw.status}` | `Activo` o `Terminado` | Activo |
| `{gw.preset}` | Las participaciones extra del preset, una por línea | @Booster — +2 participaciones |

![Petto anuncia que Luna ganó Discord Nitro entre 87 participantes, organizado por liam, 1 ganador, Terminado](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-giveaways.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=8ca9f9c18e79c06e30fe2a27beff7a1c)

En Discord: un mensaje de ganador hecho con un embed guardado con \{gw.\*}.

El mensaje de ganador se usa cuando no hay tiempo para reclamar; si lo hay, se envía en cambio el mensaje de reclamo. En los mensajes de ganador, reclamo, aceptación y rechazo `{user}` es el ganador. En el mensaje del sorteo en sí no hay miembro, así que usa `{gw.host}`.

### Recordatorio de bump

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{user.mention}` | Quién hizo el bump (en el mensaje de agradecimiento) | @Liam |
| `{nextBump}` | Cuándo se permite el siguiente bump, relativo | dentro de 2 horas |

![Petto le agradece el bump a chu y dice que el siguiente es dentro de 2 horas](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-bump.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=97bf61bf303d1af86c8811669cd155b4)

En Discord: el agradecimiento del bump con \{nextBump}.

### Sanciones

En los [mensajes de sanción](https://wiki.petto.sbs/es/moderation/moderation.md#mensajes-de-sanciones): el MD, la respuesta y el registro.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{case.id}` | Número del caso (vacío en el MD de un baneo o expulsión, que se envía antes de que exista el caso) | 42 |
| `{case.type}` | `ban`, `hardban`, `tempban`, `softban`, `unban`, `kick`, `mute`, `tempmute`, `unmute`, `warn`, `jail` o `unjail` | tempban |
| `{case.action}` | La acción en palabras | baneado temporalmente |
| `{case.emoji}` | El ícono de la acción | 🔨 |
| `{case.reason}` | La razón | Romper la regla 3 |
| `{case.duration}` | Cuánto dura, `Permanente` o `N/A` | 7 días |
| `{case.expires}` | Cuándo termina, relativo, o `Nunca` | dentro de 7 días |
| `{case.expires_at}` | Cuándo termina, como fecha y hora, o `Nunca` | 26 de octubre de 2026 12:00 |
| `{case.source}` | Quién la aplicó | Un moderador, el AutoMod, el honeypot, la escalada de advertencias, un vencimiento automático, el anti-nuke |
| `{case.moderator}` | Menciona al moderador | @Ana |
| `{case.moderator_name}` | Nombre del moderador | ana |
| `{case.moderator_id}` | ID del moderador | 1100000000000000001 |
| `{case.moderator_avatar}` | Enlace del avatar del moderador | `https://cdn.discordapp.com/…` |
| `{case.user}` | Menciona al miembro sancionado | @Liam |
| `{case.user_name}` | Su nombre | liam |
| `{case.user_id}` | Su ID | 293504726505357312 |
| `{case.user_avatar}` | Enlace de su avatar | `https://cdn.discordapp.com/…` |
| `{case.appeal}` | Enlace para [apelar](https://wiki.petto.sbs/es/moderation/appeals.md) esta sanción, vacío si las apelaciones están apagadas o este tipo no se puede apelar | `https://petto.sbs/appeal/…` |

![Por mensaje directo Petto le dice a Bruno que fue baneado temporalmente de Petto Land: caso 42, la razón, 7 días, el moderador y el enlace para apelar](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-sanctions.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=016a911692c0de24491a0e9bb605d77b)

En Discord: un mensaje directo de baneo hecho con un embed guardado con \{case.\*}.

### Starboard

En el diseño del repost del [starboard](https://wiki.petto.sbs/es/automation/starboard.md).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{star.count}` | Estrellas | 5 |
| `{star.emoji}` | El emoji del starboard | ⭐ |
| `{star.channel}` | Menciona el canal del mensaje | #memes |
| `{star.channel_name}` | Su nombre | memes |
| `{star.link}` | Enlace al mensaje | `https://discord.com/channels/…` |
| `{star.message_id}` | ID del mensaje | 1498210265458675853 |
| `{star.author}` | Menciona al autor | @Liam |
| `{star.author_name}` | Nombre del autor | liam |
| `{star.author_id}` | ID del autor | 293504726505357312 |
| `{star.author_avatar}` | Enlace del avatar del autor | `https://cdn.discordapp.com/…` |
| `{star.content}` | El texto (`*Sin texto*` si no hay) | este es el mejor meme |
| `{star.image}` | Primera imagen, vacío si no hay | `https://cdn.discordapp.com/attachments/…` |
| `{star.attachments}` | Enlaces a los demás archivos | `[photo.png](https://…)` |
| `{star.time}` | Cuándo se envió | 19 de octubre de 2026 12:00 |

![Petto vuelve a publicar el meme de nova con 7 estrellas, el canal, el texto, el enlace y cuándo se envió](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-starboard.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=73be3a7ce10d30eaff571f74be89a9b1)

En Discord: una publicación del starboard hecha con un embed guardado con \{star.\*}.

### Monkeyboard

Lo mismo que el starboard, para el [monkeyboard](https://wiki.petto.sbs/es/automation/monkeyboard.md): `{monkey.count}`, `{monkey.emoji}`, `{monkey.channel}`, `{monkey.channel_name}`, `{monkey.link}`, `{monkey.message_id}`, `{monkey.author}`, `{monkey.author_name}`, `{monkey.author_id}`, `{monkey.author_avatar}`, `{monkey.content}`, `{monkey.image}`, `{monkey.attachments}` y `{monkey.time}`.

![La publicación del monkeyboard del mensaje de nova con 5 monos](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-monkeyboard.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=335e0ce7c3229d3507c751990232c941)

En Discord: el mismo diseño con \{monkey.\*}.

### Clownboard

Lo mismo que el starboard, para el [clownboard](https://wiki.petto.sbs/es/automation/clownboard.md): `{clown.count}`, `{clown.emoji}`, `{clown.channel}`, `{clown.channel_name}`, `{clown.link}`, `{clown.message_id}`, `{clown.author}`, `{clown.author_name}`, `{clown.author_id}`, `{clown.author_avatar}`, `{clown.content}`, `{clown.image}`, `{clown.attachments}` y `{clown.time}`.

![La publicación del clownboard del mensaje de nova con 9 payasos](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-clownboard.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=49718ea1518f5b077e4c57fbc87b4f5b)

En Discord: el mismo diseño con \{clown.\*}.

### Sugerencias

En el diseño de una [sugerencia](https://wiki.petto.sbs/es/community/suggestions.md).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{suggestion.id}` | El ID | si2tr-foytm |
| `{suggestion.number}` | Número en este servidor | 12 |
| `{suggestion.content}` | El texto | Agregar un canal de música |
| `{suggestion.image}` | Enlace de la imagen, vacío si no hay | `https://cdn.discordapp.com/…` |
| `{suggestion.status}` | `pending`, `approved`, `denied`, `considering` o `implemented` | approved |
| `{suggestion.status_label}` | El estado en palabras, vacío mientras está pendiente | Aprobada |
| `{suggestion.reason}` | La razón del staff | ¡Llega esta semana! |
| `{suggestion.staff}` | Menciona a quien respondió | @Ana |
| `{suggestion.staff_name}` | Su nombre | ana |
| `{suggestion.author}` | Menciona a quien la sugirió | @Liam |
| `{suggestion.author_name}` | Su nombre | liam |
| `{suggestion.author_id}` | Su ID | 293504726505357312 |
| `{suggestion.author_avatar}` | Enlace de su avatar | `https://cdn.discordapp.com/…` |
| `{suggestion.up}` / `{suggestion.down}` | Votos a favor / en contra | 8 / 1 |
| `{suggestion.up_emoji}` / `{suggestion.down_emoji}` | Los emojis de los votos | ✅ / ❌ |
| `{suggestion.score}` | A favor menos en contra | 7 |
| `{suggestion.percent}` | Porcentaje a favor, de 0 a 100 | 89 |
| `{suggestion.link}` | Enlace al mensaje | `https://discord.com/channels/…` |
| `{suggestion.channel}` | Menciona el canal | #sugerencias |
| `{suggestion.thread}` | Menciona el hilo, vacío si no hay | #Hilo de la sugerencia si2tr-foytm |
| `{suggestion.created}` | Cuándo se hizo, relativo | hace 5 días |
| `{suggestion.created_time}` | Cuándo se hizo, fecha y hora | 14 de octubre de 2026 17:00 |

![La sugerencia 12 de Mia, aprobada, con los votos, el porcentaje y la respuesta de kira](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-suggestions.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=46c3f8be37999d3c680ac53cb798fc8e)

En Discord: un diseño de sugerencia con \{suggestion.\*}.

### Confesiones

En el diseño de una [confesión](https://wiki.petto.sbs/es/community/confessions.md).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{confession.id}` | El ID | si2tr-foytm |
| `{confession.number}` | Número en este servidor | 12 |
| `{confession.content}` | El texto | Todavía duermo con la luz prendida. |
| `{confession.image}` | Enlace de la imagen, vacío si no hay | `https://cdn.discordapp.com/…` |
| `{confession.link}` | Enlace al mensaje | `https://discord.com/channels/…` |
| `{confession.channel}` | Menciona el canal | #confesiones |
| `{confession.created}` | Cuándo se hizo, relativo | hace 5 días |
| `{confession.created_time}` | Cuándo se hizo, fecha y hora | 14 de octubre de 2026 17:00 |

![La confesión 12 con su texto, su ID y cuándo se envió](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-confessions.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=ad2ca2a8d40eaf8dd84d45710e77a16f)

En Discord: un diseño de confesión con \{confession.\*}.

### Encuestas

En el diseño de una [encuesta](https://wiki.petto.sbs/es/community/polls.md). Los botones para votar se agregan debajo.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{poll.question}` | La pregunta | ¿Qué deberíamos crear ahora? |
| `{poll.options}` | Las opciones, una por línea, con su letra | 🇦 Un comando nuevo … |
| `{poll.results}` | Cada opción con una barra, el porcentaje y los votos | 🇦 **Un comando nuevo** ████████░░░░ 67% (4) … |
| `{poll.votes}` | Personas que votaron | 6 |
| `{poll.votes_text}` | Los votos en palabras | 6 votos |
| `{poll.type}` | Opción única u opción múltiple | Opción única |
| `{poll.status}` | `Abierta` o `Cerrada` | Abierta |
| `{poll.ends}` | Cuándo cierra, relativo (vacío si nunca) | dentro de 2 horas |
| `{poll.image}` | Imagen de la encuesta, si tiene | `https://…` |
| `{poll.host}` | Menciona a quien la inició | @Ana |
| `{poll.winner}` | La opción con más votos (vacío si hay empate o no hay votos) | Un comando nuevo |

![Una encuesta con dos opciones y sus barras, 6 votos, una opción, abierta, cierra dentro de 2 horas, creada por liam](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-polls.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=28236ee49715f1a204d1ad7587bae70d)

En Discord: un diseño de encuesta con \{poll.\*}.

### Partners

En las respuestas de [Partners](https://wiki.petto.sbs/es/community/partners.md).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{partner.name}` | Nombre del servidor partner | Cozy Club |
| `{partner.id}` | Su ID | 1100000000000000001 |
| `{partner.members}` | Sus miembros | 1,240 |
| `{partner.invite}` | La invitación que se publicó | `https://discord.gg/cozy` |
| `{partner.manager}` | Menciona al Partner Manager | @Liam |
| `{partner.manager_name}` | Su nombre | liam |
| `{partner.count_day}` / `{partner.count_week}` / `{partner.count_total}` | Partnerships del manager hoy / esta semana / en total | 1 / 4 / 21 |
| `{partner.rank_week}` / `{partner.rank_total}` | Puesto del manager esta semana / en total | 2 / 3 |
| `{partner.top_week}` / `{partner.top_week_count}` | Mejor manager de esta semana y su cantidad | @Mia / 6 |
| `{partner.top_total}` / `{partner.top_total_count}` | Mejor manager en total y su cantidad | @Ana / 48 |
| `{partner.server_day}` / `{partner.server_week}` / `{partner.server_total}` | Partnerships de todo el servidor | 2 / 9 / 87 |
| `{partner.min_members}` | Miembros que necesita un servidor partner | 100 |
| `{partner.min_age_days}` | Días de antigüedad que necesita tener | 14 |
| `{partner.cooldown_days}` | Días antes de que el mismo servidor pueda volver a hacer partnership | 7 |
| `{partner.cooldown_ends}` | Cuándo termina esa espera | dentro de 3 días |
| `{partner.cooldown}` | La espera como texto | 3d 4h |

![Petto anuncia la alianza Cozy Club con 1240 miembros y le agradece a Chillet, con la cuenta y el puesto de la semana](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-partners.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=0e37acad27d21c8676cca0484468f6ce)

En Discord: una respuesta de alianza con \{partner.\*}.

### Solicitudes

En la respuesta a quien hace una [solicitud](https://wiki.petto.sbs/es/community/requests.md).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{request.number}` | Número de la solicitud | 12 |
| `{request.text}` | Lo que se pidió | Un banner para mi servidor |
| `{request.link}` | Enlace a la tarjeta de la solicitud | `https://discord.com/channels/…` |
| `{request.channel}` | Canal donde el staff la ve | #solicitudes |
| `{request.status}` | Su estado | Abierta |

![Petto le dice a Mia que su pedido 12 de un banner está abierto y dónde lo ve el staff](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-requests.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=249b6b99bee13172746c8e421a4a0e62)

En Discord: la respuesta a un pedido con \{request.\*}.

### Formularios

En el embed guardado de un mensaje de [formulario](https://wiki.petto.sbs/es/community/forms.md) (enviado, aceptado, rechazado).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{form.name}` | Nombre corto del formulario | staff |
| `{form.title}` | Título del formulario | Postulación al staff |
| `{form.number}` | Número del envío | 12 |
| `{form.status}` | Estado del envío | Aceptada |
| `{form.reason}` | La razón de quien lo revisó | Muy buenas respuestas |

![Por mensaje directo Petto le dice a Mia que su postulación al staff 12 fue aceptada, con la razón](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-forms.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=ba7a1f71f6d34b429ca3e585d5ebb34a)

En Discord: una respuesta de formulario por mensaje directo con \{form.\*}.

### Honeypot

En el mensaje de un canal [honeypot](https://wiki.petto.sbs/es/moderation/honeypot.md).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{honeypot.action}` | Qué le pasa a quien escribe ahí | un softban |
| `{honeypot.count}` | Miembros atrapados hasta ahora | 17 |
| `{honeypot.channel}` | Menciona el canal trampa | #no-escribir |

![Petto avisa que no se escriba en el canal trampa, que escribir ahí da un softban y que 17 fueron atrapados](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-honeypot.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=3e59ebfcd806a09d90def51938cd57ee)

En Discord: el mensaje de un canal honeypot con \{honeypot.\*}.

### Metas de contadores

En el embed guardado de una [meta de contador](https://wiki.petto.sbs/es/miscellaneous/counters.md#anuncios-de-metas). El texto simple del anuncio usa las [formas cortas](#contadores).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{counter.count}` | Miembros ahora | 1,000 |
| `{counter.goal}` | El número de miembros alcanzado | 1,000 |
| `{counter.server}` | Nombre del servidor | Cozy Corner |

![Petto celebra que Petto Land llegó a 1800 miembros y ahora tiene 1840](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-counters.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=1355ef34ef8e4a72bd4aff51b809d0bf)

En Discord: un embed de meta con \{counter.\*}.

### Verificación

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{verify.link}` | El enlace que abre el miembro para [verificarse](https://wiki.petto.sbs/es/onboarding/verification.md) | `https://petto.sbs/verify/…` |

![Por mensaje directo Petto le pide a Mia que se verifique con el enlace para entrar a Petto Land](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-verification.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=52cde002ec597c77780510d40f93fdb3)

En Discord: el mensaje directo de verificación con \{verify.link}.

### Vanity y Server Tag

En los mensajes de agradecimiento y el registro de las [reglas de Vanity y Server Tag](https://wiki.petto.sbs/es/guides/vanity-tag-bot.md).

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{rule.name}` | Nombre de la regla que coincidió | supporters |
| `{rule.source}` | `vanity` o `guildtag` | vanity |
| `{rule.value}` | Lo que busca la regla | discord.gg/cozy |
| `{rule.condition}` | La condición de la regla | contains |
| `{rule.reason}` | Por qué coincidió | Matched custom\_status … |
| `{rule.role}` | Menciona el rol de la regla | @Supporter |
| `{rule.role_id}` | ID de ese rol | 1010101010101010101 |
| `{rule.action}` | `add_role` o `remove_role` | add\_role |
| `{rule.action_text}` | `add` o `remove` | add |
| `{rule.result}` | `completed` o `error` | completed |
| `{rule.error}` | El error, si no se pudo cambiar el rol | |
| `{rule.matched_value}` | Lo que tiene el miembro que coincidió | join discord.gg/cozy |
| `{rule.event}` | Nombre del evento del registro | vanity\_add |
| `{rule.event_title}` | Título de ese evento | Rol de Vanity agregado |
| `{vanity.rule}` | Nombre de la regla de Vanity | supporters |
| `{vanity.word}` | El texto que busca | discord.gg/cozy |
| `{vanity.source}` | Dónde busca | custom\_status |
| `{vanity.value}` | Lo que el miembro tiene puesto | join discord.gg/cozy |
| `{vanity.role}` | Menciona su rol | @Supporter |
| `{tag}` | El Server Tag del miembro | COZY |
| `{tag.rule}` | Nombre de la regla de Server Tag | wear-our-tag |
| `{tag.condition}` | Su condición | is\_guild\_id |
| `{tag.rule_value}` | El valor que compara | 707307527846625280 |
| `{tag.guild_id}` | Servidor al que pertenece la etiqueta | 707307527846625280 |
| `{tag.enabled}` | Si el miembro muestra la etiqueta | true |
| `{tag.badge}` | Insignia de la etiqueta | badge |
| `{tag.role}` | Menciona su rol | @Tag wearer |

![Petto le agradece a chu por tener cinnamochi en su estado, da el rol Rep y muestra el estado, la regla y la acción](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-vanity.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=be10fb5cf716a09f367c660fc46c4d57)

En Discord: un agradecimiento de Vanity hecho con un embed guardado con \{rule.*} y \{vanity.*}.

### Rollouts

En las [alertas de Rollouts](https://wiki.petto.sbs/es/automation/rollouts.md) sobre los experimentos de Discord.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{rollout.name}` | Nombre del experimento | |
| `{rollout.id}` | Su ID | |
| `{rollout.kind}` | Tipo de experimento | Experimento de usuarios |
| `{rollout.type}` | Qué cambió | Rollout aumentado |
| `{rollout.status}` | Su estado | En despliegue |
| `{rollout.percent}` | Parte de Discord que lo tiene | 50% |
| `{rollout.from}` / `{rollout.to}` | Parte antes / ahora (from está vacío si es nuevo) | 37.5% / 50% |
| `{rollout.change}` | El cambio (vacío si es nuevo) | +12.5% |
| `{rollout.badge}` | Texto corto para el botón | +12.5% (50%) |
| `{rollout.kind_icon}` / `{rollout.event_icon}` | El ícono de Petto para el tipo / el evento | |
| `{rollout.variants}` | Una línea por variante con su cambio | |
| `{rollout.ranges}` | Rangos de cada variante | |
| `{rollout.platforms}` | Dónde aplica | android, desktop |
| `{rollout.filters}` | Filtros del experimento, si tiene | |
| `{rollout.source}` | De dónde vienen los datos | |

![Petto dice que un experimento pasó de 37.5% a 50%, con su tipo, estado, plataformas e ID](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-rollouts.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=d551fc7c4bdbf966f21d816ffe1e6f24)

En Discord: una alerta de Rollout hecha con un embed guardado con \{rollout.\*}.

### Misiones

En los embeds guardados de las [alertas de Misiones](https://wiki.petto.sbs/es/automation/quests.md). Son muchas, así que están plegadas.

> [accordion] Todas las variables de misiones (113)
>
> | Variable | Qué da | Ejemplo |
> | - | - | - |
> | `{quest.name}` | Nombre de la misión | Watch the trailer |
> | `{quest.game}` | El juego o la marca | March of Giants |
> | `{quest.publisher}` | Quién la publicó | Ubisoft |
> | `{quest.id}` | ID de la misión | 1552897885883072582 |
> | `{quest.url}` | Enlace para aceptarla en Discord | `https://discord.com/quests/…` |
> | `{quest.link}` | Enlace a la página del juego, vacío si no hay | `https://example.com/game` |
> | `{quest.image}` / `{quest.logo}` | Banner / logo, vacío si no hay | |
> | `{quest.color}` | Color principal en hex | #4752c4 |
> | `{quest.reward}` | Las recompensas, con su tipo | 200 Orbs |
> | `{quest.reward_type}` | Tipo de la primera recompensa: Orbs, Coleccionable, Código… | Orbs |
> | `{quest.reward_amount}` | Orbs, vacío si la recompensa no son Orbs | 200 |
> | `{quest.reward_image}` | Imagen de la primera recompensa | |
> | `{quest.reward_name}` | Nombre de la primera recompensa | 200 Orbs |
> | `{quest.rewards_count}` | Cuántas recompensas hay | 1 |
> | `{quest.reward_types}` | Todos los tipos de recompensa | Orbs, Coleccionable |
> | `{quest.reward_nitro_amount}` | Orbs que recibe un miembro con Nitro | 240 |
> | `{quest.reward_expires}` | Cuándo vence la primera recompensa que vence, relativo | |
> | `{quest.task}` | La primera tarea | Ver un video |
> | `{quest.task_type}` | Tipo de tarea: `video`, `play`, `stream`, `activity` | video |
> | `{quest.task_minutes}` / `{quest.task_seconds}` / `{quest.task_time}` | Duración de la primera tarea | 2 / 120 / 2 min |
> | `{quest.tasks}` | Todas las tareas con su tiempo | Ver un video (2 min) |
> | `{quest.platforms}` | Dónde se puede hacer | Desktop, Mobile |
> | `{quest.starts}` / `{quest.starts_at}` | Inicio, relativo / como fecha y hora | hace 1 día / 1 oct 2026 17:00 |
> | `{quest.expires}` / `{quest.expires_at}` | Final, relativo / como fecha y hora | dentro de 5 días / 7 oct 2026 17:00 |
> | `{quest.starts.<style>}` / `{quest.expires.<style>}` | Inicio / final en un estilo de Discord: `relative`, `short_time`, `long_time`, `short_date`, `long_date`, `full`, `full_long`, `short_datetime`, `medium_datetime`, o `unix` para tu propio `<t:{quest.expires.unix}:R>` | `{quest.expires.long_date}` → 8 de octubre de 2026 |
> | `{quest.starts_ago}` / `{quest.expires_in}` | Inicio / final en palabras simples, para títulos y pies | hace 2 días / en 5 días |
> | `{quest.starts_date}` / `{quest.expires_date}` | Fecha en texto simple (UTC) | Oct 1, 2026 |
> | `{quest.starts_datetime}` / `{quest.expires_datetime}` | Fecha y hora en texto simple (UTC) | Oct 1, 2026, 5:00 PM UTC |
> | `{quest.duration}` | Cuánto dura la misión | 7 días |
> | `{quest.time_left}` | Tiempo restante, o `Terminada` | 5 días 3 horas |
> | `{quest.days_left}` / `{quest.hours_left}` | Días / horas completas que quedan | 5 / 123 |
> | `{quest.countries}` / `{quest.excluded_countries}` | Códigos de los países para los que es / en los que no está disponible | |
> | `{quest.orbs.<field>}`, `{quest.decoration.<field>}`, `{quest.code.<field>}`, `{quest.ingame.<field>}`, `{quest.nitro.<field>}` | La recompensa de ese tipo, vacío si la misión no tiene. Campos: `name`, `type`, `image`, `amount` (solo Orbs), `nitro_amount`, `expires` | `{quest.orbs.amount}` → 200 |
> | `{quest.reward1.<field>}` a `{quest.reward3.<field>}` | Primera, segunda y tercera recompensa, mismos campos | `{quest.reward2.name}` → Cool frame |
> | `{quest.limits}` | Límites de región y edad, o Ninguna | Ninguna |
> | `{quest.age_gate}` | `18+` cuando tiene límite de edad | |
> | `{quest.status}` | `Nueva misión` o `Termina pronto` | Nueva misión |
> | `{quest.source}` | De dónde vienen los datos | discordquest.com |

![Petto anuncia una misión nueva: el juego, quien la publica, 200 Orbs por ver un video de 2 minutos, las plataformas, cuándo termina y el enlace](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-quests.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=f612e278d9ac789723bea80895156ca7)

En Discord: una alerta de Misiones hecha con un embed guardado con \{quest.\*}.

***

### Feeds

En las palabras sobre cada aviso de un [feed](https://wiki.petto.sbs/es/automation/feeds.md) (`!feed message`). Solo funcionan ahí.

| Variable | Qué da | Ejemplo |
| - | - | - |
| `{feed.title}` | Título de la publicación, video o directo | Hicimos una función nueva hoy |
| `{feed.url}` | Enlace a lo publicado | `https://www.youtube.com/watch?v=…` |
| `{feed.author}` | Nombre de la cuenta | Petto Studio |
| `{feed.description}` | Descripción, vacía si no hay | |
| `{feed.platform}` | Nombre de la plataforma | YouTube |
| `{feed.image}` | Enlace de la imagen de portada, vacío si no hay | |

![Petto dice que hay un video nuevo en YouTube, con su título, la cuenta y el enlace](https://mintcdn.com/wikipetto/jIyurMB5tJ_ItdvE/images/discord/resources/es/variables-feeds.webp?fit=max\&auto=format\&n=jIyurMB5tJ_ItdvE\&q=85\&s=660cbed1434030327576210d2e445c15)

En Discord: las palabras sobre un aviso de feed con \{feed.\*}.

## Placeholders de una función

Estos placeholders cortos los rellena la propia función, no el motor de arriba. Solo funcionan en el lugar indicado. Donde la tabla dice **sí** en "También variables", las variables normales también funcionan en ese mismo texto.

| Dónde | Placeholders | También variables |
| - | - | - |
| [Nombres y temas de contadores](#contadores) | `{count}` `{goal}` `{left}` `{percent}` `{role}` `{tz}` (antiguos: `{value}` `{remaining}` `{option}`) | no |
| [Texto de metas de contadores](#contadores) | `{count}` `{goal}` `{milestone}` `{server}` y `{counter.count}` `{counter.goal}` `{counter.server}` | no |
| [Nombres de canales de tickets](#tickets) | `{number}` `{username}` `{userid}` `{category}` | no |
| [Texto de bienvenida de tickets y respuestas rápidas](#tickets) | `{user}` `{username}` `{category}` `{server}` `{number}` | no |
| [Mensaje del horario del staff en tickets](#tickets) | `{start}` `{end}` `{timezone}` | no |
| [Mensajes de formularios](#formularios-y-apelaciones) | `{form}` `{number}` `{server}` `{status}` `{reason}` | sí |
| [Mensajes de apelaciones](#formularios-y-apelaciones) | `{username}` `{server}` `{reason}` `{form}` `{link}` | no |
| [Línea de apelación en el MD de sanción](#formularios-y-apelaciones) | `{server}` `{link}` | no |
| [Mensaje de cumpleaños](https://wiki.petto.sbs/es/community/birthdays.md) | `{age}`, la edad que cumple el miembro (vacío sin año) | sí, excepto en un embed guardado, donde `{age}` no funciona |
| [Texto de subida de nivel](https://wiki.petto.sbs/es/community/leveling.md#notificaciones) | `{EMOJI}`, el ícono de estrella de Petto | sí |
| [Nombres de canales de VoiceMaster](https://wiki.petto.sbs/es/automation/voicemaster.md) | `{user}` y `{user.name}` (nombre de usuario), `{user.display_name}` | no |
| [Nombre del hilo de una sugerencia](https://wiki.petto.sbs/es/community/suggestions.md) | `{suggestion.id}` `{suggestion.number}` `{suggestion.status}` | no |
| [Alias de comandos](https://wiki.petto.sbs/es/setup/aliases.md) | `{0}`, `{1}`, … las palabras escritas después del alias | no |
| [Texto de mensajes fijos](https://wiki.petto.sbs/es/automation/sticky-messages.md) | `{newline}` `{separator}` | solo con un embed guardado |

### Contadores

El nombre de un contador es cualquier texto con `{count}`. Discord permite 100 caracteres en el nombre de un canal y 1,024 en un tema.

| Placeholder | Qué da | Ejemplo |
| - | - | - |
| `{count}` | El valor, en el formato del contador (`plain`, `grouped`, `compact`) | 1204 / 1,204 / 1.2k |
| `{goal}` | La siguiente meta (contadores de meta) | 1,250 |
| `{left}` | Cuántos faltan para ella | 46 |
| `{percent}` | Cuánto lleva | 96% |
| `{role}` | Nombre del rol del contador (contadores de rol) | Staff |
| `{tz}` | La zona horaria de un reloj | UTC, GMT+2, CEST |

```javascript Ejemplos theme={null}
!counter create humans "👤 Personas: {count}"
!counter create goal "🎯 {count}/{goal} ({percent})"
!counter edit #members template "🌸 {count} miembros, faltan {left}"
```

El texto de las metas acepta `{count}` (miembros ahora), `{goal}` o `{milestone}` (el número alcanzado) y `{server}`, con los números agrupados (`1,000`):

```javascript Ejemplo theme={null}
!counter announce message 🎉 ¡Acabamos de llegar a {goal} miembros en {server}!
```

### Tickets

| Placeholder | Dónde | Qué da | Ejemplo |
| - | - | - | - |
| `{number}` | nombres, bienvenida, respuestas rápidas | Número del ticket con 4 dígitos | 0042 |
| `{username}` | nombres, bienvenida, respuestas rápidas | Nombre de usuario de quien lo abrió | liam |
| `{userid}` | nombres | ID de quien lo abrió | 293504726505357312 |
| `{category}` | nombres, bienvenida, respuestas rápidas | La etiqueta de la categoría | Soporte |
| `{user}` | bienvenida, respuestas rápidas | Menciona a quien lo abrió | @Liam |
| `{server}` | bienvenida, respuestas rápidas | Nombre del servidor | Cozy Corner |
| `{start}` `{end}` `{timezone}` | mensaje del horario del staff | El horario del staff | 09:00, 18:00, America/Bogota |

Los nombres de los canales se pasan a minúsculas, los acentos y símbolos se convierten en `-`, y se cortan a los 90 caracteres: `{category}-{username}` da `soporte-liam`. Un [embed guardado](https://wiki.petto.sbs/es/resources/scripting/embeds.md) como bienvenida del ticket usa en cambio las variables normales (el miembro es quien lo abrió, el canal es el ticket).

```javascript Ejemplos theme={null}
!ticket category edit support --naming "{category}-{username}-{number}"
!ticket category edit support --welcome "¡Hola {user}! Cuéntanos qué necesitas, el ticket #{number} es todo tuyo."
!quickreply add closing "¡Gracias {username}! Si todo está resuelto, cerraremos el ticket {number} pronto."
```

### Formularios y apelaciones

Los **mensajes de formularios** (el MD después de enviar, aceptar o rechazar, que se configura con `!form message`) aceptan `{form}` (el título), `{number}`, `{server}`, `{status}` y `{reason}`, y también las variables normales, así que `{user}` menciona al miembro. Un embed guardado para esos mensajes usa en cambio el grupo [Formularios](#formularios).

Los **mensajes de apelaciones** (que se configuran en el dashboard) aceptan `{username}`, `{server}`, `{reason}`, `{form}` y `{link}` (la página de estado de la apelación). El mensaje de "enviada" y el aviso de respuesta del staff solo rellenan `{server}`, y el nombre del hilo solo `{username}`. La **línea sobre apelaciones** en el MD de una sanción acepta `{server}` y `{link}`; si no tiene `{link}`, el enlace se agrega al final.

***

## Recetas

Listas para copiar y pegar. Cada una dice dónde va y qué ve el miembro.

> [accordion] Bienvenida con número de miembro y quién invitó
>
> ```javascript Comando theme={null}
> !welcome setup #bienvenida --message "¡Bienvenido {user} a **{server_name}**! Eres nuestro miembro {user.join_position_suffix}. Te invitó {inviter.name} ({inviter.invites} invitaciones)."
> ```
>
> ```text Resultado theme={null}
> ¡Bienvenido @Liam a Cozy Corner! Eres nuestro miembro 1204.º. Te invitó Mia (12 invitaciones).
> ```

> [accordion] Subida de nivel con barra de progreso y recompensa
>
> ```javascript Comando theme={null}
> !level notify reply --message "{EMOJI} ¡{user} llegó al nivel **{level}**! {level_bar} Faltan {level_xp_to_next} XP para el nivel {level_next}."
> ```
>
> ```text Resultado theme={null}
> ✦ ¡@Liam llegó al nivel 12! ▰▰▰▰▰▰▱▱▱▱ Faltan 930 XP para el nivel 13.
> ```
>
> Con `--milestone 10 --message "¡{user} llegó al nivel 10 y desbloqueó {level_role}!"` ese nivel tiene su propio texto.

> [accordion] Un comando de abrazo con destinatario
>
> ```javascript Comando theme={null}
> !customcommand add hug "{user} le da a {arg1} un gran abrazo {choose:🤗|💞|🫂}"
> ```
>
> ```text Resultado theme={null}
> !hug @Mia  →  @Liam le da a @Mia un gran abrazo 💞
> ```

> [accordion] Una tirada de dado
>
> ```javascript Comando theme={null}
> !customcommand add roll "🎲 {user.display_name} sacó **{range:1-6}**"
> ```
>
> ```text Resultado theme={null}
> 🎲 Liam sacó 4
> ```

> [accordion] Autorrespuesta que responde con lo que vino después del activador
>
> ```javascript Comando theme={null}
> !autoresponder add say, {user.display_name} dice: {args} --mode startsWith
> ```
>
> ```text Resultado theme={null}
> say buenas noches a todos  →  Liam dice: buenas noches a todos
> ```

> [accordion] Antigüedad de la cuenta en un MD de bienvenida
>
> ```javascript Comando theme={null}
> !dmonjoin setup --message "¡Hola {user.display_name}! Tu cuenta se creó <t:{user.created_at_timestamp}:R>. Lee las reglas de {server_name} antes de chatear."
> ```
>
> ```text Resultado theme={null}
> ¡Hola Liam! Tu cuenta se creó hace 6 años. Lee las reglas de Cozy Corner antes de chatear.
> ```

> [accordion] Meta de boosts
>
> ```javascript Comando theme={null}
> !boost setup #boosts --message "💎 ¡{user} dio boost! Tenemos {server_boostcount} boosts, faltan {server_nextboostlevel_until_required} para el nivel {server_nextboostlevel}."
> ```
>
> ```text Resultado theme={null}
> 💎 ¡@Liam dio boost! Tenemos 9 boosts, faltan 5 para el nivel 3.
> ```

> [accordion] Un MD de baneo con el enlace de apelación (embed guardado)
>
> Crea un embed llamado `ban-dm` desde un código, y luego úsalo para el MD de los baneos:
>
> ```javascript Comandos theme={null}
> !embed create ban-dm {embed}$v{title: {case.emoji} Fuiste {case.action} de {server_name}}$v{description: **Razón:** {case.reason}{newline}**Termina:** {case.expires}{newline}{newline}¿Crees que fue un error? Apela aquí: {case.appeal}}$v{color: #ed4245}
> !sanctionmessage set ban dm ban-dm
> ```
>
> El miembro recibe un embed con el título "🔨 Fuiste baneado de Cozy Corner" con la razón, `Nunca` como final y el enlace de apelación.

> [accordion] Cuenta regresiva para un evento
>
> ```javascript Comando theme={null}
> !customcommand add movienight "🍿 La noche de películas empieza el {timestamp:2026-12-19 18:00|full_long}, ¡o sea {timestamp:2026-12-19 18:00|R}!"
> ```
>
> ```text Resultado theme={null}
> 🍿 La noche de películas empieza el sábado, 19 de diciembre de 2026 18:00, ¡o sea dentro de 2 meses!
> ```
>
> Cada lector ve la hora en su propia zona horaria. La hora que escribes se lee en hora de Colombia (GMT-5); agrega `utc` para escribirla en UTC.


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