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

# Guide de configuration AeroDesk

> Configurez AeroDesk via config.yml : parametres de base de donnees, categories de tickets, niveaux VIP et reponses automatiques aux mots-cles FAQ.

Le bot est entierement pilote par un seul fichier `config.yml`. Cela rend le deploiement et les mises a jour incroyablement rapides. Vous trouverez ci-dessous un exemple de configuration, suivi d'une explication des concepts cles.

## Exemple de `config.yml`

```yaml theme={null}
# ========================================== #
#     Parametres principaux du bot           #
# ========================================== #

# Votre jeton de bot issu du Discord Developer Portal.
# Ne partagez JAMAIS ce jeton avec quiconque !
botToken: "YOUR_DISCORD_BOT_TOKEN"

# L'identifiant utilisateur Discord du proprietaire du bot (Vous).
# Pour l'obtenir, activez le mode developpeur dans Discord et faites un clic droit sur votre profil.
ownerId: "YOUR_USER_ID"

# Utilisateurs Discord qui sont gestionnaires du bot
# Separez les identifiants multiples par des virgules (ex. "12345, 73517")
managerUserIds

# ------------------------------------------
# Parametres de la base de donnees
# ------------------------------------------
database:
# Quelle base de donnees le bot doit-il utiliser ?
# Options valides : "json", "mongodb", "postgres", "mysql"
activeDatabase: "json"

# Si vous utilisez "mongodb", collez votre URI de connexion ici.
mongoUri: "mongodb://localhost:27017"

# Si vous utilisez une base de donnees SQL ("postgres" ou "mysql"), remplissez ces champs.
sqlHost: "localhost"
sqlUser: "root"
sqlPassword: "password123"

# ========================================== #
#     Parametres globaux des tickets         #
# ========================================== #
tickets:
  maxTicketsPerUser: 1
  ticketCooldownSeconds: 300
  logsChannelId: "102938475610293847"
  staffRoleId: "888888888888888888" # Role general de l'equipe (par defaut)

# ========================================== #
#     Configuration des categories           #
# ========================================== #
categories:
  general:
    embedTitle: "General Support"
    welcomeMessage: "Welcome! Please describe your issue. A staff member will be with you shortly."
    staffRoleId: "888888888888888888"
    bypassRoleId: "999999999999999999" # Role Admin/Gestion
    enableClaimRemoval: true
  billing:
    embedTitle: "Billing & Purchases"
    welcomeMessage: "Please provide your Transaction ID and Tebex email."
    staffRoleId: "777777777777777777" # Equipe dediee a la facturation
    bypassRoleId: "999999999999999999"
    enableClaimRemoval: true

# ========================================== #
#     Niveaux VIP & Limites                  #
# ========================================== #
ticketTiers:
  booster:
    roleId: "444444444444444444"
    priority: 1
    maxTickets: 3

# ========================================== #
#     Reponses FAQ automatisees             #
# ========================================== #
keywordFaqs:
  "forgot password": "To reset your password, please visit our website and click 'Forgot Password' on the login screen."
  "apply for staff": "Staff applications are currently open! Check out the #announcements channel for the application link."
```

## Comprendre les parametres de categorie

La section `categories` est le coeur de votre systeme de routage. Bien que la plupart des parametres soient explicites, voici les deux configurations les plus critiques pour le flux de travail de votre equipe :

* **bypassRoleId** : Il s'agit de l'identifiant de role (generalement la direction ou les administrateurs du serveur) qui outrepasse toutes les permissions des tickets. Meme si un ticket est pris en charge et verrouille pour un membre specifique de l'equipe, les utilisateurs possedant le `bypassRoleId` conserveront toujours l'acces en lecture et en ecriture pour superviser l'interaction.
* **enableClaimRemoval** : Accepte `true` (vrai) ou `false` (faux).
  * Si regle sur `true` (Mode Verrouillage) : Lorsqu'un membre de l'equipe clique sur le bouton « Prendre en charge » (Claim), le bot retire l'acces du role general `staffRoleId` au salon. Seuls l'utilisateur, le membre de l'equipe ayant pris le ticket et le `bypassRoleId` peuvent voir le ticket. C'est ideal pour la confidentialite et pour eviter que les membres de l'equipe ne se coupent la parole.
  * Si regle sur `false` : Prendre en charge un ticket attribue simplement le nom du membre de l'equipe a l'embed et a la base de donnees, mais tous les autres membres de l'equipe peuvent toujours lire le salon et y repondre.
