> ## 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.

# Roles por reacción

> Configura asignaciones seguras de roles mediante reacciones en mensajes de tu servidor.

> [!NOTE]
>
> Quien configura necesita `Manage Roles` y debe ser owner del servidor, owner de Headless o Anti-Nuke Admin autorizado. Headless también necesita `Manage Roles`, una posición superior al rol asignado y `View Channel`, `Read Message History` y `Add Reactions` en el canal del mensaje.

## Configurar una asignación

**1. Prepara un rol dedicado**

No uses `@everyone`, roles administrados por Discord ni roles con permisos de administración o moderación. El rol debe estar debajo del rol de Headless.

**2. Copia el enlace del mensaje**

El mensaje debe pertenecer al servidor actual. Headless debe poder ver el canal, leer el historial y agregar reacciones. Se aceptan emojis Unicode y personalizados.

**3. Crea y prueba la regla**

Ejecuta `.reactionrole add <message_link> <emoji> <role>`. Headless valida los datos, agrega la reacción inicial y guarda la regla. Una regla nueva válida también activa Auto Role si estaba apagado. Comprueba la asignación con una cuenta de prueba.

> [!NOTE]
>
> `.autorole on` activa la configuración de Auto Role; no cambia el interruptor global del módulo en Dashboard → Modules. Una regla nueva también activa la configuración, pero el procesamiento sigue pausado si el interruptor global está apagado.

### `.reactionrole add`

```headless-command Syntax theme={null}
.reactionrole add <message_link> <emoji> <role>
```

```headless-command Example theme={null}
.reactionrole add https://discord.com/channels/<server-id>/<channel-id>/<message-id> ✅ @Member
```

### `.reactionrole list`

```headless-command Syntax theme={null}
.reactionrole list
```

```headless-command Example theme={null}
.reactionrole list
```

### `.reactionrole remove`

```headless-command Syntax theme={null}
.reactionrole remove <message_link> <emoji>
```

```headless-command Example theme={null}
.reactionrole remove https://discord.com/channels/<server-id>/<channel-id>/<message-id> ✅
```

### `.reactionrole reset`

```headless-command Syntax theme={null}
.reactionrole reset [confirmation]
```

```headless-command Example theme={null}
.reactionrole reset confirm
```

### `.reactionrole removeall`

```headless-command Syntax theme={null}
.reactionrole removeall <message_link>
```

```headless-command Example theme={null}
.reactionrole removeall <copied_message_link>
```

Sustituye el marcador por la URL que Discord copia con **Copiar enlace del mensaje**. Los IDs de servidor, canal y mensaje deben tener entre 17 y 20 dígitos, y el servidor debe coincidir con el actual.

> [!WARNING]
>
> Quitar la reacción retira del miembro el rol vinculado, aunque lo hubiera recibido por otra vía. Usa un rol dedicado y de bajo riesgo. Quitar la configuración no revoca roles ya asignados ni elimina las reacciones normales del mensaje; limpia esos elementos aparte si corresponde.

> **Límites y validación**
>
> Cada servidor admite hasta 100 reglas y cada mensaje, 20. La combinación mensaje+emoji debe ser única y cada rol solo puede vincularse una vez por servidor. Los enlaces deben incluir los IDs de servidor, canal y mensaje y pertenecer al servidor actual. Headless rechaza roles que no pueda gestionar y omite eventos de bots, reglas inexistentes, roles eliminados y eventos repetidos. Los eventos raw cubren mensajes que ya no están en caché. Las reacciones anteriores a la regla no se sincronizan.

> **Pausa, almacenamiento y comandos relacionados**
>
> Las reglas pertenecen al módulo Auto Role: `.autorole off` también pausa su procesamiento. Puedes volver a habilitar el módulo con `.autorole on`; una regla nueva válida también activa Auto Role si estaba apagado. Se guardan en la configuración PostgreSQL existente por servidor, sin migración de esquema. El grupo acepta `.reactionroles`; `.rr` está reservado para restaurar roles. `remove` quita una asignación, `removeall` quita las de un mensaje y `reset confirm` elimina todas las del servidor; la confirmación se compara sin distinguir mayúsculas.

## Páginas relacionadas

> **[Auto roles](/docs/server/roles/auto.md)**
>
> Revisa el módulo que habilita y pausa las asignaciones por reacción.

> **[Roles autoasignables](/docs/server/roles/self-assignable.md)**
>
> Compara las reglas por reacción con el panel de roles autoasignables.

> **[Permisos de Headless](/docs/permissions.md)**
>
> Consulta los permisos nativos y virtuales que puede comprobar Headless.


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