> ## Documentation Index
> Fetch the complete documentation index at: https://rust-co.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurar roles de Discord

> Dar más slots de personaje según el rol en Discord.

Da más slots de personaje según el rol en Discord — por ejemplo, 3 personajes para VIP y 1 para el resto. Creas un bot en Discord, pegas dos IDs y un token en un archivo de config, y Creator hace el resto cuando alguien abre la selección.

<Info>
  Cómo cuentan los slots (y qué pasa si alguien tiene dos roles) está en [Slots de personajes](/es/rco-creator/character-slots). Recuerda: cada rol da el **total** de slots — no es "+1 extra".
</Info>

## Qué necesitas

* Un Discord al que tus jugadores entren de verdad
* Permiso **Administrar servidor** (para invitar el bot)
* Acceso a los archivos del RedM (o panel del host)
* Unos cinco minutos y un lugar seguro para el **token del bot** (trátalo como contraseña)

Nada más. Sin base de datos, sin resource extra.

## Qué pasa, sin tecnicismos

1. El jugador conecta a RedM con Discord vinculado.
2. Abre la selección de personajes.
3. Creator le pregunta a Discord: "¿Qué roles tiene esta persona en nuestro servidor?"
4. Creator elige el **mejor** rol de tu lista y desbloquea ese número de slots (hasta el máximo del servidor).

Si algo falla — Discord cerrado, no está en tu servidor, config mal — recibe el **predeterminado** que definiste. Nadie queda bloqueado; solo no gana slots extra.

***

## Paso 1 — Modo desarrollador

Discord oculta los IDs hasta que actives un interruptor.

1. Abre Discord (escritorio o navegador).
2. **Ajustes de usuario** (engranaje) → **Avanzado**.
3. Activa **Modo desarrollador**.

Ahora: clic derecho en el servidor → **Copiar ID del servidor**; clic derecho en un rol → **Copiar ID del rol**.

***

## Paso 2 — Crear el bot

Todo en el sitio oficial: [Discord Developer Portal](https://discord.com/developers/applications).

<Steps>
  <Step title="Nueva aplicación">
    **New Application** → nombre que reconozca tu staff (ej. `RedM Character Slots`) → crear.
  </Step>

  <Step title="Copiar el token">
    Pestaña **Bot** → **Reset Token** → confirma → **Copia** al instante.

    Como una contraseña. Solo va en `rco-creator/config/server.lua` en el **servidor de juego** — nunca en chat, tickets, capturas o GitHub.
  </Step>

  <Step title="Invitar el bot a tu Discord">
    **OAuth2** → **URL Generator**.

    * Scopes: marca **`bot`**
    * Permisos: mínimo — el bot no lee canales ni escribe. Solo debe **estar en tu servidor**.

    Copia el enlace, ábrelo, elige **tu Discord de la comunidad**, autoriza.

    ¿Aparece offline en la lista? **Normal.** Creator consulta cuando el jugador conecta; no necesita estar "online" 24/7.
  </Step>

  <Step title="Esos interruptores de 'Intents'">
    En la pestaña Bot verás cosas como "Server Members Intent".

    **Déjalos apagados.** Creator busca un jugador a la vez — no necesitas permiso para listar a todos.
  </Step>
</Steps>

***

## Paso 3 — Anotar los IDs

Antes de editar config, haz una tablita:

| Rol (para ti)  | ID del rol | ¿Cuántos personajes? |
| -------------- | ---------- | -------------------- |
| Predeterminado | —          | ej. 1                |
| Supporter      | pega el ID | ej. 3                |
| VIP            | pega el ID | ej. 5                |

**ID del servidor** = clic derecho en el icono del Discord → **Copiar ID del servidor**.

**ID del rol** = Ajustes del servidor → Roles → clic derecho en el rol → **Copiar ID del rol**.

***

## Paso 4 — Pegar en el config del Creator

Edita `rco-creator/config/server.lua` en tu **servidor RedM**:

```lua theme={"dark"}
CreatorServerConfig.Discord = {
    enabled = true,
    guildId = '123456789012345678',
    botToken = 'TU_TOKEN_AQUI',
    defaultSlots = 1,
    cacheSeconds = 600,
    timeoutMs = 8000,
    roleSlots = {
        ['987654321098765432'] = 3,
        ['876543210987654321'] = 5,
    },
}
```

Reinicia **`rco-creator`**. Discord activo con ID o token vacío → el resource **no arranca**. A propósito, para no correr a medias.

<Warning>
  Con Discord activo, overrides manuales por license (`PlayerSlots`) **no cuentan**. ¿Necesitas ambos? Mira `ResolveCustomSlots` en [Slots de personajes](/es/rco-creator/character-slots).
</Warning>

***

## Paso 5 — Qué decir a los jugadores

Algo así en reglas u onboarding:

1. **Discord abierto** al lanzar RedM (app de escritorio ayuda).
2. **Autorizar RedM / Cfx.re** cuando pida — o en **Ajustes → Apps autorizadas**.
3. **Entrar en nuestro Discord** y tener el rol de su tier.

¿Un jugador siempre en predeterminado? Mira la consola del servidor al conectar: debe aparecer `discord:` en los identifiers. Sin eso, el juego no obtuvo su Discord — suele arreglarse reautorizando y reiniciando RedM.

<Note>
  El enlace Discord + RedM falla a algunos (Discord cerrado, saltaron auth, límites). Es de la plataforma, no un bug de Creator. Mantén `defaultSlots` justo para quien no pueda vincular.
</Note>

***

## Paso 6 — Probar

1. Rol de prueba en Discord.
2. Ese ID en `roleSlots` con un número visible (ej. 3).
3. Reinicia el resource, conecta, abre selección.
4. Cuenta cuántos slots se desbloquearon.

¿Sigue fallando? `Config.Debug = true` **temporal** en `config/config.lua`, reproduce el problema, mira la consola del **servidor**. No compartas logs públicos.

***

## Problemas frecuentes

| Lo que ves                        | Causa probable          | Qué hacer                                    |
| --------------------------------- | ----------------------- | -------------------------------------------- |
| No arranca                        | ID o token vacío        | Rellena ambos en `server.lua`                |
| Todos en predeterminado           | Bot no entró al Discord | Repite el enlace de invitación (Paso 2)      |
| Todos en predeterminado           | ID de servidor mal      | Copia de nuevo                               |
| Un jugador siempre predeterminado | Discord no vinculado    | Reautorizar RedM, reiniciar juego            |
| Un jugador siempre predeterminado | No está en tu Discord   | Debe unirse, o tratar manual con Discord off |
| Rol no cambia slots               | ID de rol mal           | Copia el ID otra vez — string entre comillas |
| VIP + Supporter no suman          | Así no funciona         | Creator usa el rol **mayor**, no suma        |
| Cambió rol, igual                 | Caché \~10 min          | Espera o reconecta                           |
| "Token inválido" en debug         | Token expiró            | Reset en el portal, actualiza config         |

***

## Protege el token

* Solo en el servidor de juego, en `server.lua`.
* Nunca subas un token real a GitHub.
* ¿Filtró? **Reset Token** en el portal ya y pega el nuevo.

El bot **no** necesita Administrator.

***

## Ver también

* [Slots de personajes](/es/rco-creator/character-slots)
* [Discord Developer Portal](https://discord.com/developers/applications)
