Discord-Raid-bot/CLAUDE.md

64 lines
2 KiB
Markdown
Raw Permalink Normal View History

2026-04-30 13:48:45 +00:00
# CLAUDE.md
## Contexte
Bot Discord de tracking de Personal Best (PB) pour les clan bosses du jeu Raid Shadow Legends.
Communauté TEA — The Ember Accord (4 clans : TEAI, TEAF, TEAC, TEACO).
2026-04-30 13:48:45 +00:00
## Branches
| Branche | Environnement | Chemin NAS |
|---------|--------------|------------|
| `main` | Production | `/share/CACHEDEV1_DATA/discord-bot-prod` |
| `dev` | Développement | `/share/CACHEDEV1_DATA/discord-bot-dev` |
## Déploiement
CI/CD via Forgejo Actions → runner `vm-runner` (192.168.1.53) → rsync vers NAS QNAP (192.168.1.208).
Push sur `main` ou `dev` déclenche le déploiement automatique.
Secret requis dans Forgejo : `NAS_SSH_KEY` (clé privée ed25519 pour SSH Elewyn@NAS).
## Persistance des données (NE PAS écraser)
Ces dossiers vivent sur le NAS et sont montés dans le container — jamais dans le repo, jamais écrasés par rsync :
| Dossier | Contenu |
|---------|---------|
| `data/` | Base SQLite (`bot_data.db`) |
| `screenshots/` | Captures d'écran des PBs |
| `logs/` | Logs du bot |
## Variables d'environnement (.env sur le NAS)
Fichier `.env` à créer manuellement sur le NAS dans chaque `DEPLOY_PATH` :
```
DISCORD_TOKEN=...
AUTHORIZED_CHANNEL_ID=...
```
## Structure
```
bot.py # Point d'entrée, charge les cogs
config.py # Config centralisée (token, chemins, boss, clans)
cogs/ # Commandes Discord (un fichier par fonctionnalité)
utils/ # Managers (DB, screenshots, mercy) et handlers
Dockerfile # Image Python 3.9-slim
docker-compose.yml # Déploiement container
```
## Boss supportés
- **Hydra** : normal, hard, brutal, nightmare
- **Chimera** : easy, normal, hard, brutal, nightmare, ultra
- **CvC** : Clan vs Clan
## Pièges connus
- Le `.env` ne doit jamais être commité — il contient le token Discord
- `data/`, `screenshots/`, `logs/` sont gitignorés — données persistantes sur le NAS
- Le rsync exclut ces dossiers pour ne pas écraser les données en prod