ajout du control denvoi de message et interface up

This commit is contained in:
gpatruno
2025-07-20 04:34:00 +02:00
parent 75d9a65cc4
commit baefddd6b3
32 changed files with 3759 additions and 219 deletions
+139
View File
@@ -0,0 +1,139 @@
# Toggle d'Envoi de Messages Chat
## 🎯 Fonctionnalité
Un nouveau bouton slide a été ajouté à l'interface web pour contrôler l'envoi de messages dans le chat Twitch. Cette fonctionnalité permet de désactiver temporairement tous les envois de messages du bot sans avoir à arrêter complètement le système.
## 🔧 Fonctionnement
### Interface Utilisateur
Le toggle se trouve dans la section "Actions Rapides" de l'interface web :
- **"Envoi Messages Chat"** : Un switch on/off pour activer/désactiver l'envoi de messages
- **Statut** : Indique si l'envoi est "Activé" (vert) ou "Désactivé" (gris)
### Comportement
Quand l'envoi de messages est **désactivé** :
1. ✅ Les messages manuels via l'interface web sont bloqués
2. ✅ Les messages automatiques sont bloqués
3. ✅ Les messages d'auto-réponse sont bloqués
4. ✅ Les messages de chat sont bloqués
5. ✅ Le bot continue de fonctionner normalement (enregistrement, génération IA, etc.)
6. ✅ Aucun message n'est envoyé sur Twitch
Quand l'envoi de messages est **activé** :
1. ✅ Tous les types de messages fonctionnent normalement
2. ✅ Les messages sont envoyés sur Twitch comme avant
## 🛠️ Implémentation Technique
### Backend (Python)
#### Variables Globales
```python
# Dans web_interface.py
chat_messages_enabled = True # Contrôle global de l'envoi de messages
```
#### Nouvelles Routes API
- `POST /api/chat/messages/enable` : Activer l'envoi de messages
- `POST /api/chat/messages/disable` : Désactiver l'envoi de messages
- `GET /api/chat/messages/status` : Obtenir le statut actuel
#### Vérifications Ajoutées
- Dans `send_message()` : Vérification avant envoi manuel
- Dans `send_chat_message()` : Vérification avant envoi de chat
- Dans `auto_message_loop()` : Vérification avant envoi automatique
- Dans `messageTwitch.send_message()` : Vérification au niveau de la classe
### Frontend (JavaScript)
#### Nouvelles Fonctions
- `toggleChatMessage()` : Gère le changement d'état du toggle
- `checkChatMessageStatus()` : Vérifie le statut au chargement
#### Interface HTML
```html
<!-- Chat Message Toggle -->
<div class="mt-3">
<div class="d-flex justify-content-between align-items-center">
<span class="small text-muted">Envoi Messages Chat</span>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" id="chatMessageToggle" onchange="toggleChatMessage()" checked>
<label class="form-check-label small" for="chatMessageToggle"></label>
</div>
</div>
<div class="mt-2">
<small class="text-muted" id="chatMessageStatus">Activé</small>
</div>
</div>
```
## 🧪 Tests
Un script de test est disponible : `test_chat_toggle.py`
```bash
# Démarrer le serveur web
python start_web_interface.py
# Dans un autre terminal, lancer les tests
python test_chat_toggle.py
```
## 📋 Utilisation
### Via l'Interface Web
1. Ouvrir l'interface web sur `http://localhost:5000`
2. Aller dans la section "Actions Rapides" (sidebar gauche)
3. Trouver le toggle "Envoi Messages Chat"
4. Cliquer pour activer/désactiver
### Via l'API REST
```bash
# Désactiver l'envoi de messages
curl -X POST http://localhost:5000/api/chat/messages/disable
# Activer l'envoi de messages
curl -X POST http://localhost:5000/api/chat/messages/enable
# Vérifier le statut
curl http://localhost:5000/api/chat/messages/status
```
## 🔒 Sécurité
- Le toggle est persistant pendant la session du serveur
- Les tentatives d'envoi de messages sont bloquées avec un message d'erreur approprié
- Aucun message n'est envoyé quand le toggle est désactivé
- Le système continue de fonctionner normalement pour les autres fonctionnalités
## 🚀 Avantages
1. **Contrôle Granulaire** : Permet de désactiver uniquement l'envoi de messages
2. **Sécurité** : Évite les envois accidentels de messages
3. **Flexibilité** : Activation/désactivation en temps réel
4. **Transparence** : Interface claire avec statut visuel
5. **Non-intrusif** : N'affecte pas les autres fonctionnalités du bot
## 🐛 Dépannage
### Le toggle ne fonctionne pas
- Vérifier que le serveur web est démarré
- Recharger la page web
- Vérifier les logs du serveur pour les erreurs
### Les messages sont toujours envoyés
- Vérifier que le toggle est bien désactivé
- Redémarrer le serveur web si nécessaire
- Vérifier que les routes API répondent correctement
### Erreur 403 lors de l'envoi de messages
- C'est normal quand l'envoi est désactivé
- Réactiver le toggle pour pouvoir envoyer des messages