Documentation SunBot
Installe, configure et dépanne SunBot proprement.
Cette documentation regroupe le déploiement Discord, la configuration FiveM, la publication des slash commands et les vérifications à faire avant de mettre le bot en production.
Installation de base
Prépare le bot, invite-le sur le serveur et vérifie les permissions avant d'activer les modules.
Invite le bot avec les scopes `bot` et `applications.commands`.
Place le rôle du bot au-dessus des rôles qu'il doit attribuer ou gérer.
Active uniquement les permissions réellement nécessaires sur le serveur.
Connecte-toi au panel avec un compte Discord qui peut gérer le serveur.
Variables requises
SunBot a besoin de quelques variables minimales pour l'auth Discord, le bot et certaines fonctions du panel.
`DISCORD_BOT_TOKEN` pour connecter le bot.
`DISCORD_CLIENT_ID` pour les scripts de déploiement manuels et l'OAuth.
`DISCORD_GUILD_ID` si tu veux forcer une synchro rapide sur un serveur précis.
`DATABASE_URL`, `NEXTAUTH_URL`, `NEXTAUTH_SECRET` et les variables Stripe/FiveM selon les modules actifs.
Publication des slash commands
Les commandes n'apparaissaient pas parce qu'elles dépendaient d'un déploiement manuel. Le bot peut maintenant les synchroniser au démarrage.
Le bot synchronise désormais les slash commands au démarrage.
Si `DISCORD_GUILD_ID` est défini, la synchro est faite sur ce serveur pour une propagation rapide.
Sinon, la synchro bascule en global, ce qui peut prendre plus de temps côté Discord.
Le script `npm --workspace apps/bot run deploy` reste disponible si tu veux forcer une publication manuelle.
Bridge FiveM
Le module FiveM génère une clé API dédiée, permet son renouvellement et fournit un script prêt à télécharger.
Télécharge le script depuis le module FiveM du panel.
Copie la clé API générée automatiquement dans la configuration du bridge.
Réinitialise la clé depuis le module si elle a fuité ou si tu remplaces la ressource.
Vérifie les heartbeats depuis l'onglet FiveM avant d'envoyer des commandes staff.
Résolution des problèmes
Checklist rapide quand quelque chose ne remonte pas dans Discord ou dans le panel.
Le bot est bien présent sur le serveur concerné.
Le scope `applications.commands` est inclus dans l'invitation Discord.
Le rôle du bot est assez haut pour créer des rôles et salons.
Les variables Discord sont bien chargées côté bot.
Le serveur ciblé correspond bien à `DISCORD_GUILD_ID` si tu utilises la synchro guild.
