Réécriture complète 4.0
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6m16s
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6m16s
This commit is contained in:
128
README.md
128
README.md
@@ -1,3 +1,129 @@
|
||||
# Discord
|
||||
# Bot Tamiseur
|
||||
|
||||
Bot Discord multifonction développé en TypeScript pour la musique, les notifications Twitch et l'intégration avec diverses infrastructures.
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
### 🎵 Lecteur de musique
|
||||
- Lecture de musique depuis diverses sources (YouTube, Spotify, etc.)
|
||||
- Gestion de file d'attente
|
||||
- Mode disco avec sauvegarde automatique
|
||||
- Contrôles avancés (boucle, mélange, volume)
|
||||
|
||||
### 📺 Notifications Twitch
|
||||
- Notifications automatiques de streams en direct
|
||||
- Intégration EventSub avec Twurple
|
||||
- Gestion multi-streamers
|
||||
|
||||
### 🔧 Intégrations infrastructure
|
||||
- **AMP**: Gestion des instances de serveurs de jeu
|
||||
- **Freebox**: Intégration avec l'API Freebox
|
||||
- **Crack**: Fonctionnalités spécifiques pour SalonPostam
|
||||
|
||||
## Installation
|
||||
|
||||
### Prérequis
|
||||
- Node.js 22+
|
||||
- MongoDB
|
||||
- Compte Discord Developer
|
||||
- Compte Twitch Developer (optionnel)
|
||||
|
||||
### Configuration
|
||||
|
||||
1. Cloner le repository :
|
||||
```bash
|
||||
git clone <url_repository>
|
||||
cd bot_Tamiseur
|
||||
```
|
||||
|
||||
2. Installer les dépendances :
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. Configurer les variables d'environnement :
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# Éditer le fichier .env avec vos valeurs
|
||||
```
|
||||
|
||||
### Variables d'environnement requises
|
||||
|
||||
Voir le fichier `.env.example` pour la liste complète des variables.
|
||||
|
||||
**Variables essentielles :**
|
||||
- `DISCORD_APP_ID` et `DISCORD_TOKEN` : Configuration Discord
|
||||
- `MONGOOSE_*` : Configuration base de données MongoDB
|
||||
|
||||
**Variables optionnelles :**
|
||||
- `TWITCH_*` : Pour les notifications Twitch
|
||||
- `NGROK_AUTHTOKEN` : Pour le développement avec webhooks Twitch
|
||||
- `DEFAULT_LOCALE` : Locale par défaut (défaut: `fr`)
|
||||
- `CONSOLE_LOCALE` : Locale pour les logs console (défaut: `en`)
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Développement
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### Production
|
||||
```bash
|
||||
npm run build
|
||||
npm run start:prod
|
||||
```
|
||||
|
||||
### Scripts disponibles
|
||||
- `npm run dev` : Démarrage en mode développement avec watch
|
||||
- `npm run build` : Build de production
|
||||
- `npm run start:prod` : Démarrage en production
|
||||
- `npm run lint` : Vérification du code
|
||||
- `npm run lint:fix` : Correction automatique des erreurs de linting
|
||||
|
||||
## Architecture
|
||||
|
||||
Le projet suit une architecture modulaire TypeScript :
|
||||
|
||||
- `/src/commands/` : Commandes slash Discord organisées par catégories
|
||||
- `/src/events/` : Gestionnaires d'événements (Discord, MongoDB, Player)
|
||||
- `/src/buttons/` et `/src/selectmenus/` : Interactions utilisateur
|
||||
- `/src/utils/` : Modules utilitaires (player, twitch, amp, freebox)
|
||||
- `/src/types/` : Définitions TypeScript
|
||||
- `/src/schemas/` : Schémas MongoDB
|
||||
|
||||
## Déploiement
|
||||
|
||||
Le projet inclut des configurations Docker et Helm pour le déploiement en Kubernetes :
|
||||
|
||||
```bash
|
||||
# Build et tag pour déploiement
|
||||
make tag-build
|
||||
make tag-deploy
|
||||
```
|
||||
|
||||
## Développement
|
||||
|
||||
Le code suit les conventions définies dans `.github/copilot-instructions.md` :
|
||||
- Variables en anglais, commentaires en français
|
||||
- Code optimisé et lisible
|
||||
- Architecture modulaire stricte
|
||||
|
||||
### Internationalisation
|
||||
|
||||
Le bot supporte plusieurs langues via le système i18n :
|
||||
|
||||
**Fonctions de traduction :**
|
||||
- `t(locale, key, params)` : Traduction basée sur la locale utilisateur
|
||||
- `fr(key, params)` : Traduction en français
|
||||
- `en(key, params)` : Traduction en anglais
|
||||
|
||||
**Configuration des locales :**
|
||||
- `DEFAULT_LOCALE` : Locale par défaut pour les utilisateurs
|
||||
- `CONSOLE_LOCALE` : Locale pour les messages de logs console
|
||||
|
||||
**Fichiers de traduction :**
|
||||
- `/src/locales/fr.json` : Traductions françaises
|
||||
- `/src/locales/en.json` : Traductions anglaises
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user