palico-bot/README.md

64 lines
1.5 KiB
Markdown

# palico-bot
## Configuration
La configuration sensible est stockée dans un fichier `.env` exclu de Git.
Chaque environnement (poste local ou VM de production) possède son propre
fichier `.env` avec les valeurs appropriées.
Le fichier `.env.example` documente les variables attendues sans contenir de
secret. Les fichiers réels doivent rester hors du dépôt.
Générer une clé d'API robuste avec :
```bash
openssl rand -hex 32
```
```bash
# Lancer le bot
npm start
# Déployer les commandes Discord
npm run deploy
```
Node.js 22.12 ou supérieur est nécessaire pour la prise en charge du protocole
vocal DAVE de Discord.
## Prérequis
- Node.js 24 LTS ;
- FFmpeg et FFprobe disponibles dans le `PATH` ;
- accès UDP sortant vers les serveurs vocaux Discord.
Sur Debian ou Ubuntu :
```bash
sudo apt install ffmpeg
npm ci
npm run check
```
## Données persistantes
Le dossier `storage/` est une donnée applicative et ne doit pas être remplacé
pendant un déploiement. Sauvegarder régulièrement :
- `storage/runtime/library.json` ;
- `storage/permanent/`.
Les fichiers placés dans `storage/temp/` sont temporaires et nettoyés après
24 heures.
La liste des serveurs de jeux est locale. La créer à partir du modèle :
```bash
cp src/static/gameservers-list.example.json src/static/gameservers-list.json
```
## Déploiement
Un push sur `main` exécute les contrôles syntaxiques, les tests et l'audit npm
avant d'appeler `/usr/local/bin/deploy-palico-bot` sur le serveur. Le workflow
vérifie ensuite la route publique `/healthz`.