# đŸ€– TwitchBot Controller - Interface Web Une interface web moderne en dark mode pour contrĂŽler votre bot Twitch intelligent. ## 🚀 FonctionnalitĂ©s ### 📊 Tableau de Bord - **Statut en temps rĂ©el** : Nombre de flux actifs, enregistrements, connexions chat - **Mises Ă  jour automatiques** : Interface qui se met Ă  jour toutes les 5-10 secondes - **Indicateur de connexion** : Statut de connexion au serveur en temps rĂ©el ### đŸŽ„ Gestion des Flux - **Ajout de flux** : Ajouter des canaux Twitch Ă  surveiller - **ContrĂŽle audio** : Choisir d'enregistrer ou non l'audio du stream - **Options par flux** : - Autoriser l’envoi de messages sur ce stream - Activer / dĂ©sactiver la gĂ©nĂ©ration TGPT (IA) Ă  partir des sous-titres - **Surveillance chat** : Connexion automatique au chat de chaque flux - **Gestion dynamique** : Ajouter/supprimer des flux sans redĂ©marrer ### 💬 Gestion des Messages - **Prochain message** : Voir le message gĂ©nĂ©rĂ© par l'IA qui sera envoyĂ© - **Envoi manuel** : Envoyer le prochain message ou un message personnalisĂ© - **Historique** : Voir les derniers messages envoyĂ©s avec horodatage - **Actions rapides** : Boutons pour envoyer rapidement la derniĂšre gĂ©nĂ©ration ### 🎯 Configuration des Prompts IA - **Édition en direct** : Modifier les prompts de gĂ©nĂ©ration IA directement - **Ajout/suppression** : GĂ©rer dynamiquement la liste des prompts - **Sauvegarde** : Sauvegarder les modifications en temps rĂ©el - **Interface intuitive** : Textareas redimensionnables pour chaque prompt ### đŸŽ™ïž Sous-titres et Transcription - **Dernier texte dĂ©tectĂ©** : Affichage du dernier sous-titre gĂ©nĂ©rĂ© - **Historique complet** : Liste des 10 derniers sous-titres avec timestamps - **GĂ©nĂ©ration automatique** : Bouton pour gĂ©nĂ©rer une rĂ©ponse IA Ă  partir du texte - **Mise Ă  jour temps rĂ©el** : Nouveaux sous-titres affichĂ©s automatiquement - **Multi-flux** : SĂ©lection du flux dans l’onglet Sous-titres (stockage sĂ©parĂ© par flux) - **RĂšgles sur sous-titres** : DĂ©clencher des actions (clip / message) quand un sous-titre contient un mot/texte ### 🎬 Clips - **CrĂ©ation manuelle** : Page “Clips” pour crĂ©er un clip Helix (retourne URL + edit_url) - **Actions via rĂšgles** : “CrĂ©er un clip” possible depuis Interaction chat et depuis les rĂšgles Sous-titres ## đŸ› ïž Installation ### 1. Installer les dĂ©pendances ```bash pip install -r requirements_web.txt ``` ### 2. DĂ©marrer l'interface web ```bash python start_web_interface.py ``` Ou avec des options personnalisĂ©es : ```bash python start_web_interface.py --host 0.0.0.0 --port 8080 --debug ``` ### 3. AccĂ©der Ă  l'interface Ouvrez votre navigateur et allez Ă  : `http://localhost:5000` ## ⚙ Configuration ### Fichiers de configuration L'interface web utilise les mĂȘmes fichiers de configuration que votre bot : - `config/config.json` : Configuration principale - `config/user.json` : Comptes Twitch pour l'envoi de messages Pour Helix Clips : - Ajoutez `twitch_client_id` dans `config/config.json` - Tokens OAuth avec scope `clips:edit` (et pour chat : `chat:edit` / `chat:read`) ### Configuration automatique Au premier dĂ©marrage, des fichiers de configuration par dĂ©faut sont créés. Modifiez-les avec vos paramĂštres : ```json // config/config.json { "twitchname": "votre_channel", "language": "fr", "list_prompt": [ "RĂ©ponds en 8 mots max avec humour : ", "RĂ©agis comme un viewer twitch en 6 mots : " ] } // config/user.json [ { "tw_acc_pseudo": "votre_pseudo", "tw_acc_token": "oauth:votre_token", "charactere": "😊" } ] ``` ## 🎹 Interface Dark Mode L'interface utilise un thĂšme dark moderne avec : - **Couleurs adaptĂ©es** : Palette sombre pour rĂ©duire la fatigue oculaire - **Animations fluides** : Transitions et effets visuels - **Design responsive** : Compatible mobile et desktop - **Icons FontAwesome** : Interface moderne et intuitive ### Couleurs principales - Background principal : `#1a1a1a` - Background secondaire : `#2d2d2d` - Accent : `#007bff` - SuccĂšs : `#28a745` - Avertissement : `#ffc107` ## đŸ“± Utilisation ### Onglet Flux 1. **Ajouter un flux** : Cliquez sur "Ajouter Flux" 2. **Nom du canal** : Entrez le nom du canal Twitch 3. **Options audio** : Cochez pour enregistrer l'audio 4. **Options messages / IA** : Cochez/dĂ©cochez l’envoi de messages et la gĂ©nĂ©ration TGPT par flux 4. **Gestion** : Utilisez les boutons pause/play et supprimer ### Onglet Messages 1. **Prochain message** : Voir le message gĂ©nĂ©rĂ© par l'IA 2. **Envoyer** : Cliquer pour envoyer le message dans le chat 3. **Message personnalisĂ©** : Taper et envoyer vos propres messages 4. **Historique** : Consulter les messages rĂ©cents envoyĂ©s ### Onglet Prompts IA 1. **Modifier** : Cliquer dans les textareas pour Ă©diter 2. **Ajouter** : Bouton "Ajouter Prompt" pour de nouveaux prompts 3. **Supprimer** : Bouton ❌ sur chaque prompt 4. **Sauvegarder** : Bouton "Sauvegarder" pour appliquer les changements ### Onglet Sous-titres 1. **Choisir un flux** : SĂ©lectionner le flux (multi-flux) 2. **Texte actuel** : Voir le dernier texte dĂ©tectĂ© du stream 2. **GĂ©nĂ©rer rĂ©ponse** : Cliquer pour lancer la gĂ©nĂ©ration IA 3. **Historique** : Consulter les derniers sous-titres gĂ©nĂ©rĂ©s 4. **RĂšgles** : DĂ©clencher une action quand un sous-titre contient un mot/texte ## 🔄 Actions Rapides ### Sidebar - Actions Rapides - **GĂ©nĂ©rer RĂ©ponse** : Lance la gĂ©nĂ©ration IA sur le dernier sous-titre - **Envoyer DerniĂšre GĂ©nĂ©ration** : Envoie immĂ©diatement la derniĂšre rĂ©ponse gĂ©nĂ©rĂ©e - **Actualiser** : Recharge toutes les donnĂ©es de l'interface ## 🔌 API REST L'interface expose une API REST pour l'intĂ©gration : ### Endpoints principaux - `GET /api/status` : Statut gĂ©nĂ©ral du bot - `GET /api/flux` : Liste des flux actifs - `POST /api/flux` : Ajouter un nouveau flux - `DELETE /api/flux/` : Supprimer un flux - `GET/POST /api/config/prompts` : GĂ©rer les prompts - `POST /api/send-message` : Envoyer un message - `POST /api/generate-response` : Lancer une gĂ©nĂ©ration IA - `POST /api/clips/create` : CrĂ©er un clip Helix - `GET/POST /api/subtitles/rules/config` : Config des rĂšgles sous-titres - `GET /api/subtitles/rules/log` : Logs des rĂšgles sous-titres ### WebSocket - Connexion temps rĂ©el sur le mĂȘme port - ÉvĂ©nements : `status_update`, `new_subtitle`, `new_generation` ## 🚹 DĂ©pannage ### Port dĂ©jĂ  utilisĂ© ```bash python start_web_interface.py --port 8080 ``` ### ProblĂšmes de dĂ©pendances ```bash pip install --upgrade -r requirements_web.txt ``` ### Fichiers de configuration manquants Les fichiers sont créés automatiquement au premier dĂ©marrage. VĂ©rifiez le dossier `config/`. ### Connexion WebSocket Si les mises Ă  jour temps rĂ©el ne fonctionnent pas, vĂ©rifiez que le port n'est pas bloquĂ© par un firewall. ## 🔐 SĂ©curitĂ© - **AccĂšs local** : Par dĂ©faut, accessible uniquement en local - **Configuration tokens** : Stockage sĂ©curisĂ© des tokens dans les fichiers config - **Validation** : Validation des entrĂ©es cĂŽtĂ© serveur - **CORS** : Configuration CORS pour les connexions WebSocket ## 🆕 NouveautĂ©s vs Version Console ### Avantages de l'interface web - ✅ **Interface graphique moderne** vs commandes clavier - ✅ **Gestion multi-flux** vs flux unique - ✅ **Modification prompts en direct** vs redĂ©marrage requis - ✅ **Historique visuel** vs logs console - ✅ **ContrĂŽle Ă  distance** vs accĂšs local uniquement - ✅ **Statut temps rĂ©el** vs statut sur demande ### CompatibilitĂ© L'interface web peut fonctionner : - **IndĂ©pendamment** : Comme contrĂŽleur principal - **En parallĂšle** : Avec votre script console existant - **Migration** : Remplacement progressif de l'interface console ## 📈 Performance - **Mises Ă  jour optimisĂ©es** : Seulement les donnĂ©es modifiĂ©es - **WebSocket efficace** : Communication bidirectionnelle lĂ©gĂšre - **Cache intelligent** : RĂ©duction des appels API - **Interface responsive** : Adaptation automatique Ă  la taille d'Ă©cran --- **🎉 Profitez de votre nouvelle interface web pour contrĂŽler votre bot Twitch !**