4.5 KiB
4.5 KiB
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é :
- ✅ Les messages manuels via l'interface web sont bloqués
- ✅ Les messages automatiques sont bloqués
- ✅ Les messages d'auto-réponse sont bloqués
- ✅ Les messages de chat sont bloqués
- ✅ Le bot continue de fonctionner normalement (enregistrement, génération IA, etc.)
- ✅ Aucun message n'est envoyé sur Twitch
Quand l'envoi de messages est activé :
- ✅ Tous les types de messages fonctionnent normalement
- ✅ Les messages sont envoyés sur Twitch comme avant
🛠️ Implémentation Technique
Backend (Python)
Variables Globales
# 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 messagesPOST /api/chat/messages/disable: Désactiver l'envoi de messagesGET /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 togglecheckChatMessageStatus(): Vérifie le statut au chargement
Interface 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
# 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
- Ouvrir l'interface web sur
http://localhost:5000 - Aller dans la section "Actions Rapides" (sidebar gauche)
- Trouver le toggle "Envoi Messages Chat"
- Cliquer pour activer/désactiver
Via l'API REST
# 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
- Contrôle Granulaire : Permet de désactiver uniquement l'envoi de messages
- Sécurité : Évite les envois accidentels de messages
- Flexibilité : Activation/désactivation en temps réel
- Transparence : Interface claire avec statut visuel
- 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