139 lines
4.5 KiB
Markdown
139 lines
4.5 KiB
Markdown
# 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 |