# VX BOT

Base professionnelle pour le bot Discord de **VX GAMES** : bot Discord, panneau web, embeds, accueil, autorôle, rôles à boutons, journal d'activité et architecture extensible pour connecter les jeux du studio.

## Fonctionnalités incluses

- Connexion au panneau avec Discord OAuth2
- Accès limité aux serveurs où l'utilisateur peut gérer le serveur
- Message d'accueil personnalisable
- Attribution automatique d'un rôle à l'arrivée
- Studio d'embeds avec aperçu en direct
- Publication d'un panneau de rôles à boutons
- Commandes slash `/vxbot`, `/embed`, `/setup`, `/clear`, `/kick` et `/ban`
- Journal d'activité administratif
- SQLite local, aucune base externe obligatoire
- Service systemd et configuration Nginx fournis
- Préfixe web compatible avec `https://vixon.fr/vxgamesbot`

Pour la procédure complète, consulte `INSTALLATION_UBUNTU.md`.

## Installation rapide sur Ubuntu 24.04

```bash
cd /var/www/html
sudo git clone <URL_DU_DEPOT> vxgamesbot
cd vxgamesbot
sudo bash scripts/install-ubuntu.sh
```

Puis :

1. Crée l'application **VX BOT** dans le Discord Developer Portal.
2. Dans **OAuth2 > General**, ajoute :
   `https://vixon.fr/vxgamesbot/auth/callback`
3. Dans **Bot**, active **Server Members Intent**.
4. Copie `.env.example` vers `.env` et remplis les secrets.
5. Le script tente d’ajouter automatiquement la route `/vxgamesbot/` au bloc Nginx existant de `vixon.fr`, avec sauvegarde et restauration automatique si `nginx -t` échoue.
6. Lance :

```bash
npm run deploy:commands
sudo systemctl restart vxbot
```

## Développement local

```bash
cp .env.example .env
npm install
npm run deploy:commands
npm run dev
```

URL locale conseillée : `http://localhost:3100/vxgamesbot`.

## Architecture

```text
src/
  bot/          événements Discord
  commands/     commandes slash
  database/     SQLite et requêtes
  web/          serveur Express, routes, vues et assets
  config/       validation de l'environnement
```

## Connexion future aux jeux VX GAMES

La prochaine étape pourra ajouter un module `game-events` avec :

- authentification serveur-à-serveur par clé API signée ;
- annonces de mises à jour et maintenance ;
- liaison compte Discord ↔ compte joueur ;
- rôles automatiques selon les jeux possédés ou les succès ;
- remontée de statistiques, signalements et état des serveurs.
