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

# FAQ & Dépannage

> Réponses aux questions les plus fréquentes et corrections pas-à-pas des problèmes courants.

# FAQ & Dépannage

***

## Configuration & Permissions

<AccordionGroup>
  <Accordion title="Pourquoi WardForge ne peut-il pas créer le rôle Guardian-Quarantine ?">
    Cela arrive quand le rôle de WardForge est **en dessous** de la position dont il a besoin pour
    gérer d'autres rôles. Discord exige que le rôle d'un bot soit **plus haut dans la hiérarchie**
    que tout rôle qu'il crée ou assigne.

    **Correction :**

    1. Allez dans **Paramètres du serveur → Rôles**
    2. Faites glisser le rôle **WardForge** en **haut de la liste** (ou au moins au-dessus de
       tous les rôles qu'il doit gérer)
    3. Lancez `/guardian doctor` — il confirmera que la hiérarchie est correcte

    <Warning>
      Même avec la permission Administrateur, Discord applique la hiérarchie des rôles pour leur
      gestion. L'Administrateur ne contourne pas cette restriction.
    </Warning>
  </Accordion>

  <Accordion title="WardForge dit qu'il manque la permission 'Bannir des Membres' mais je lui ai donné Administrateur.">
    Il s'agit généralement d'un **override de permission au niveau du salon** qui bloque WardForge
    dans un salon spécifique. L'Administrateur accorde des permissions à l'échelle du serveur, mais
    les overrides de salons individuels peuvent nier des permissions même aux admins.

    **Correction :**

    1. Allez dans le salon où WardForge est bloqué
    2. Ouvrez **Paramètres du salon → Permissions**
    3. Trouvez le rôle de WardForge et supprimez les overrides **Refuser** explicites
    4. Relancez `/guardian doctor`
  </Accordion>

  <Accordion title="La commande /setup ne se termine jamais — elle affiche juste 'réflexion...'">
    WardForge a expiré, généralement parce que :

    * Il manque la permission de créer des salons ou des rôles
    * L'API Discord est lente (réessayez dans quelques minutes)
    * Un conflit de nom existe (un rôle `Guardian-Quarantine` ou un salon `#guardian-logs` existe
      déjà avec de mauvais paramètres)

    **Correction :**

    1. Supprimez les éventuels rôles `Guardian-Quarantine` et salons `#guardian-logs` existants
    2. Confirmez que WardForge a la permission **Administrateur**
    3. Réessayez `/setup`
  </Accordion>
</AccordionGroup>

***

## Anti-Raid & Quarantaine

<AccordionGroup>
  <Accordion title="Un nouveau membre légitime a été mis en quarantaine — comment le libérer rapidement ?">
    Ouvrez `#guardian-logs` (ou votre salon de logs configuré). L'embed de notification de
    quarantaine a un bouton **"✅ Lever la Quarantaine"** — cliquez dessus pour retirer immédiatement
    le rôle de quarantaine.

    Alternativement, tout membre du staff avec **Gérer les Rôles** peut lancer :

    ```
    /quarantine release @membre
    ```

    <Tip>
      Envisagez d'épingler un message dans votre salon général expliquant que les comptes créés il y
      a moins de 24 heures seront brièvement en quarantaine. Cela réduit la confusion pour les vrais
      nouveaux utilisateurs.
    </Tip>
  </Accordion>

  <Accordion title="Mon serveur organisait un giveaway et WardForge l'a verrouillé pendant l'afflux de nouveaux membres.">
    Les événements qui attirent beaucoup de nouveaux membres (giveaways, collaborations, going viral)
    peuvent déclencher la détection de raid. Pour l'éviter :

    **Avant l'événement :**

    ```
    /antiraid mode monitor
    ```

    Cela maintient toute la détection et la journalisation active mais **ne verrouille jamais**
    automatiquement — le staff est alerté mais le serveur reste ouvert.

    **Après l'événement :**

    ```
    /antiraid mode auto
    ```

    Restaurez la protection automatique complète une fois l'afflux normalisé.
  </Accordion>

  <Accordion title="Le rôle Guardian-Quarantine existe mais la quarantaine ne fonctionne pas.">
    Deux causes fréquentes :

    1. **Hiérarchie des rôles** — `Guardian-Quarantine` doit être **au-dessus** de votre rôle membre
       par défaut pour pouvoir remplacer les accès aux salons. S'il est en dessous de `@everyone`,
       il n'a aucun effet.
    2. **Overrides de permissions de salon** — si les salons accordent explicitement à `@everyone`
       la permission de voir/écrire, le rôle quarantaine ne peut pas l'annuler.

    Lancez `/guardian doctor` pour un diagnostic automatique et des instructions de correction
    spécifiques.
  </Accordion>
</AccordionGroup>

***

## Anti-Phishing & /report

<AccordionGroup>
  <Accordion title="J'ai soumis un /report mais rien ne s'est passé.">
    Vérifiez les points suivants :

    1. **TrustScore** — vous avez besoin d'un score minimum de 20 pour soumettre des signalements.
       Lancez `/trustscore @vous-même` pour vérifier votre score.
    2. **Cooldown** — il y a un délai de 10 minutes entre les signalements. Attendez et réessayez.
    3. **Déjà blacklisté** — si la cible est déjà dans la Blacklist Globale, vous verrez l'entrée
       existante plutôt qu'un nouveau signalement créé. C'est le comportement attendu.
    4. **Aucun salon de signalement configuré** — si `/report-config set-channel` n'a jamais été
       lancé, les signalements vont dans `#guardian-logs` par défaut. Vérifiez ce salon.
  </Accordion>

  <Accordion title="WardForge a supprimé un lien légitime posté par un membre.">
    WardForge a peut-être signalé le domaine comme phishing dans l'une des trois bases de données.
    Pour le mettre en whitelist :

    ```
    /antiphishing whitelist add votre-domaine.com
    ```

    Si vous pensez qu'il s'agit d'un **faux positif dans la base de données elle-même**, vous pouvez
    le signaler directement à [PhishTank](https://phishtank.org) ou
    [Google Safe Browsing](https://safebrowsing.google.com/safebrowsing/report_error/).

    <Note>
      WardForge respecte la whitelist immédiatement — aucun redémarrage requis.
    </Note>
  </Accordion>

  <Accordion title="Un membre peut-il abuser de /report pour cibler quelqu'un ?">
    WardForge dispose de plusieurs couches de protection anti-abus :

    * **TrustScore ≥ 20** — les comptes nouveaux ou peu fiables ne peuvent pas soumettre de signalements
    * **Cooldown de 10 minutes** — empêche les faux signalements en rafale
    * **Exigence de scan de lien** — les bans automatiques se déclenchent uniquement quand un lien est
      **confirmé dans une base de données phishing**, pas sur une simple accusation textuelle
    * **Examen staff** — les signalements non confirmés vont toujours au staff ; WardForge ne bannit
      jamais automatiquement sur la seule base de la description textuelle d'un membre

    Un membre ne peut pas faire bannir quelqu'un simplement en le signalant — il doit y avoir un lien
    malveillant confirmé ou une autorisation du staff.
  </Accordion>
</AccordionGroup>

***

## Sauvegarde & Restauration

<AccordionGroup>
  <Accordion title="Comment restaurer un salon supprimé par un admin compromis ?">
    Si WardForge a détecté la suppression du salon, un **bouton de restauration sélective** a été
    automatiquement posté dans `#guardian-logs` dans les secondes suivant la suppression. Cliquez sur
    **"Restaurer les Salons"** dans cet embed.

    Si le bouton de restauration automatique n'est plus disponible (plus de 60 minutes se sont
    écoulées) :

    ```
    /backup list           # Trouver le snapshot le plus récent avant la suppression
    /backup restore <id>   # Restaurer depuis ce snapshot
    ```

    <Warning>
      Restaurer une sauvegarde complète recréera salons et rôles depuis le snapshot. **Les messages
      ne sont pas restaurés** — seulement la structure du serveur (salons, catégories, rôles,
      permissions).
    </Warning>
  </Accordion>

  <Accordion title="Je ne vois pas /backup create — seulement /backup list.">
    Vous avez besoin de la permission **Administrateur** pour créer des sauvegardes. `/backup list`
    est disponible pour quiconque ayant **Gérer le Serveur**. Vérifiez les permissions de votre rôle.
  </Accordion>

  <Accordion title="À quelle fréquence dois-je créer des sauvegardes ?">
    WardForge ne crée pas de sauvegardes automatiques planifiées — vous contrôlez quand les snapshots
    sont pris. Nous recommandons :

    * **Après toute restructuration majeure de rôles/salons** — créez un snapshot avec un label
    * **Avant de donner des permissions élevées à un nouvel admin** — filet de sécurité en cas de
      compromission
    * **Hebdomadairement** pour les communautés actives

    Les comptes gratuits ont **3 slots de sauvegarde**. Les comptes Pro ont un stockage illimité.
  </Accordion>
</AccordionGroup>

***

## Auto-Hébergement

<AccordionGroup>
  <Accordion title="Redis échoue son healthcheck après que j'ai défini REDIS_PASSWORD.">
    Le healthcheck Docker doit s'authentifier auprès de Redis. Vérifiez que votre `docker-compose.yml`
    utilise :

    ```yaml theme={null}
    healthcheck:
      test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"]
    ```

    S'il utilise toujours `redis-cli ping` sans `-a`, le check échouera car `requirepass` est activé.
    Mettez à jour votre fichier compose et redémarrez le service Redis :

    ```bash theme={null}
    docker compose restart redis
    ```
  </Accordion>

  <Accordion title="Le bot démarre mais /setup échoue avec 'database not ready'.">
    PostgreSQL n'a pas fini de s'initialiser quand le bot démarre. Le `depends_on: condition: service_healthy`
    dans `docker-compose.yml` devrait gérer cela, mais si vous démarrez pour la première fois sur une
    machine lente :

    ```bash theme={null}
    docker compose up db redis -d    # Démarrer les dépendances d'abord
    sleep 10                         # Attendre l'initialisation de PostgreSQL
    docker compose up guardian-bot -d
    ```
  </Accordion>

  <Accordion title="J'ai modifié .env mais le bot ne prend pas les nouvelles valeurs en compte.">
    Docker Compose ne recharge pas automatiquement les changements de `.env`. Redémarrez le service
    concerné :

    ```bash theme={null}
    docker compose up -d --force-recreate guardian-bot
    ```
  </Accordion>
</AccordionGroup>

***

## Vous avez Encore Besoin d'Aide ?

<CardGroup cols={2}>
  <Card title="Serveur Discord Support" icon="discord" href="https://discord.gg/wardforge">
    Rejoignez notre serveur de support pour une aide en temps réel de l'équipe et de la
    communauté.
  </Card>

  <Card title="Issues GitHub" icon="github" href="https://github.com/your-org/wardforge/issues">
    Signalez des bugs ou demandez des fonctionnalités sur GitHub.
  </Card>
</CardGroup>
