Files
twitchBot-intelligent/CHAT_TOGGLE_README.md
T

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é :

  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

# 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

<!-- 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

  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

# 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