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

# Configurer les rôles Discord

> Donner plus d'emplacements selon le rôle Discord.

Donnez plus d'emplacements de personnage selon le rôle Discord — par exemple, 3 personnages pour les VIP et 1 pour les autres. Vous créez un bot Discord, collez deux IDs et un token dans un fichier de config, et Creator s'occupe du reste à l'ouverture de la sélection.

<Info>
  Comment comptent les emplacements (et si quelqu'un a deux rôles) : [Emplacements de personnage](/fr/rco-creator/character-slots). Rappel : chaque rôle donne le **total** d'emplacements — pas "+1 en plus".
</Info>

## Ce qu'il vous faut

* Un Discord que vos joueurs rejoignent vraiment
* La permission **Gérer le serveur** (pour inviter le bot)
* Accès aux fichiers RedM (ou panel hébergeur)
* Environ cinq minutes et un endroit sûr pour le **token du bot** (comme un mot de passe)

C'est tout. Pas de base de données, pas de resource en plus.

## Ce qui se passe, simplement

1. Le joueur se connecte à RedM avec Discord lié.
2. Il ouvre la sélection de personnage.
3. Creator demande à Discord : "Quels rôles a cette personne sur notre serveur ?"
4. Creator prend le **meilleur** rôle de votre liste et débloque ce nombre d'emplacements (jusqu'au max du serveur).

Problème — Discord fermé, pas sur votre serveur, mauvaise config — il reçoit le **défaut** que vous avez défini. Personne n'est bloqué ; il n'a juste pas les slots bonus.

***

## Étape 1 — Mode développeur

Discord cache les IDs tant que vous n'activez pas un interrupteur.

1. Ouvrez Discord (bureau ou navigateur).
2. **Paramètres utilisateur** (engrenage) → **Avancé**.
3. Activez **Mode développeur**.

Ensuite : clic droit sur le serveur → **Copier l'identifiant du serveur** ; clic droit sur un rôle → **Copier l'identifiant du rôle**.

***

## Étape 2 — Créer le bot

Tout sur le site officiel : [Discord Developer Portal](https://discord.com/developers/applications).

<Steps>
  <Step title="Nouvelle application">
    **New Application** → un nom reconnaissable (ex. `RedM Character Slots`) → créer.
  </Step>

  <Step title="Copier le token">
    Onglet **Bot** → **Reset Token** → confirmez → **Copiez** tout de suite.

    Comme un mot de passe. Uniquement dans `rco-creator/config/server.lua` sur le **serveur de jeu** — jamais en chat, ticket, capture ou GitHub.
  </Step>

  <Step title="Inviter le bot sur votre Discord">
    **OAuth2** → **URL Generator**.

    * Scopes : cochez **`bot`**
    * Permissions : minimum — le bot ne lit pas les salons ni n'écrit. Il doit juste **être sur votre serveur**.

    Copiez le lien, ouvrez-le, choisissez **votre Discord communautaire**, autorisez.

    Hors ligne dans la liste ? **Normal.** Creator vérifie à la connexion ; pas besoin d'être "online" 24h/24.
  </Step>

  <Step title="Ces interrupteurs 'Intents'">
    Sous l'onglet Bot, vous verrez des choses comme "Server Members Intent".

    **Laissez désactivé.** Creator cherche un joueur à la fois — pas besoin de lister tout le monde.
  </Step>
</Steps>

***

## Étape 3 — Noter les IDs

Avant d'éditer la config, faites un petit tableau :

| Rôle (pour vous) | ID du rôle  | Combien de personnages ? |
| ---------------- | ----------- | ------------------------ |
| Défaut           | —           | ex. 1                    |
| Supporter        | collez l'ID | ex. 3                    |
| VIP              | collez l'ID | ex. 5                    |

**ID serveur** = clic droit sur l'icône Discord → **Copier l'identifiant du serveur**.

**ID rôle** = Paramètres du serveur → Rôles → clic droit sur le rôle → **Copier l'identifiant du rôle**.

***

## Étape 4 — Coller dans la config Creator

Éditez `rco-creator/config/server.lua` sur votre **serveur RedM** :

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

Redémarrez **`rco-creator`**. Discord activé avec ID ou token vide → le resource **ne démarre pas**. Volontaire, pour éviter une config à moitié faite.

<Warning>
  Discord activé → overrides manuels par license (`PlayerSlots`) **ignorés**. Besoin des deux ? Voir `ResolveCustomSlots` sur [Emplacements de personnage](/fr/rco-creator/character-slots).
</Warning>

***

## Étape 5 — Ce qu'il faut dire aux joueurs

Quelque chose comme ça dans vos règles :

1. **Discord ouvert** au lancement de RedM (app bureau recommandée).
2. **Autoriser RedM / Cfx.re** quand demandé — ou **Paramètres → Applications autorisées**.
3. **Rejoindre notre Discord** et avoir le rôle correspondant.

Un joueur toujours au défaut ? Regardez la console serveur à la connexion : il faut voir `discord:` dans les identifiers. Sinon le jeu n'a pas récupéré Discord — en général réautoriser et relancer RedM.

<Note>
  Le lien Discord + RedM échoue parfois (Discord fermé, auth ignorée, limites). C'est la plateforme, pas un bug Creator. Gardez `defaultSlots` équitable pour ceux qui ne peuvent pas lier.
</Note>

***

## Étape 6 — Tester

1. Rôle test sur Discord.
2. Cet ID dans `roleSlots` avec un chiffre visible (ex. 3).
3. Redémarrez le resource, connectez-vous, ouvrez la sélection.
4. Comptez les emplacements débloqués.

Toujours bloqué ? `Config.Debug = true` **temporaire** dans `config/config.lua`, reproduisez, consultez la console **serveur**. Ne partagez pas les logs publiquement.

***

## Problèmes courants

| Ce que vous voyez                     | Cause probable         | Que faire                                   |
| ------------------------------------- | ---------------------- | ------------------------------------------- |
| Ne démarre pas                        | ID ou token vide       | Remplir les deux dans `server.lua`          |
| Tous au défaut                        | Bot pas sur le Discord | Refaire le lien d'invitation (Étape 2)      |
| Tous au défaut                        | Mauvais ID serveur     | Recopier                                    |
| Un joueur toujours défaut             | Discord non lié        | Réautoriser RedM, relancer le jeu           |
| Un joueur toujours défaut             | Pas sur votre Discord  | Doit rejoindre, ou gérer manuellement       |
| Rôle ignoré                           | Mauvais ID rôle        | Recopier l'ID — string entre guillemets     |
| VIP + Supporter ne s'additionnent pas | Ce n'est pas ainsi     | Creator prend le rôle **le plus haut**      |
| Rôle changé, pareil                   | Cache \~10 min         | Attendre ou reconnecter                     |
| "Token invalide" en debug             | Token expiré           | Reset dans le portail, mettre à jour config |

***

## Protéger le token

* Uniquement sur le serveur de jeu, dans `server.lua`.
* Jamais de vrai token sur GitHub.
* Fuite ? **Reset Token** dans le portail immédiatement.

Le bot **n'a pas** besoin d'Administrator.

***

## Voir aussi

* [Emplacements de personnage](/fr/rco-creator/character-slots)
* [Discord Developer Portal](https://discord.com/developers/applications)
