2025-06-10 01:49:29 +02:00
2025-06-09 16:29:12 +02:00
2025-06-10 15:05:12 +02:00
2025-06-10 14:56:29 +02:00
2025-08-19 22:40:12 +02:00
2025-06-09 16:29:12 +02:00
2025-06-09 16:29:12 +02:00
2025-06-09 16:29:12 +02:00
2025-06-09 16:29:12 +02:00
2025-06-09 16:29:12 +02:00
2025-06-09 16:29:12 +02:00
2025-06-09 19:10:35 +02:00
2025-06-09 19:10:35 +02:00
2025-06-09 16:29:12 +02:00

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 :
git clone <url_repository>
cd bot_Tamiseur
  1. Installer les dépendances :
npm install
  1. Configurer les variables d'environnement :
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

npm run dev

Production

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 :

# 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
Description
No description provided
Readme 6 MiB
Languages
TypeScript 99%
Dockerfile 0.4%
JavaScript 0.3%
Makefile 0.3%