Files
twitchBot-intelligent/start_web_interface.py
T
gpatruno 68cf59ae75 update
2025-09-06 17:26:38 +02:00

137 lines
3.7 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Script de démarrage amélioré pour TwitchBot Controller
Utilise l'architecture centralisée avec contrôle depuis l'interface web
"""
import os
import sys
import subprocess
import time
from datetime import datetime
def print_banner():
"""Afficher la bannière de démarrage"""
print("🤖 TwitchBot Controller - Interface Web")
print("=" * 50)
print("✓ Architecture centralisée")
print("✓ Contrôle depuis l'interface web")
print("✓ Gestion des composants modulaire")
print("=" * 50)
def check_dependencies():
"""Vérifier les dépendances requises"""
print("🔧 Vérification des dépendances...")
required_packages = [
'flask',
'flask-socketio',
'requests',
'pytmi'
]
missing_packages = []
for package in required_packages:
try:
__import__(package.replace('-', '_'))
print(f"{package}")
except ImportError:
missing_packages.append(package)
print(f"{package} - MANQUANT")
if missing_packages:
print(f"\n❌ Dépendances manquantes: {', '.join(missing_packages)}")
print("💡 Installez-les avec: pip install " + " ".join(missing_packages))
return False
print("✅ Toutes les dépendances sont installées")
return True
def check_config_files():
"""Vérifier les fichiers de configuration"""
print("\n📁 Vérification des fichiers de configuration...")
required_files = [
'config/config.json',
'config/user.json'
]
missing_files = []
for file_path in required_files:
if os.path.exists(file_path):
print(f"{file_path}")
else:
missing_files.append(file_path)
print(f"{file_path} - MANQUANT")
if missing_files:
print(f"\n⚠️ Fichiers de configuration manquants: {', '.join(missing_files)}")
print("💡 Créez ces fichiers avant de continuer")
return False
print("✅ Tous les fichiers de configuration sont présents")
return True
def create_directories():
"""Créer les répertoires nécessaires"""
print("\n📂 Création des répertoires...")
directories = [
'storage',
'record',
'in_record'
]
for directory in directories:
if not os.path.exists(directory):
os.makedirs(directory)
print(f"✓ Créé: {directory}")
else:
print(f"✓ Existe: {directory}")
def start_web_interface():
"""Démarrer l'interface web"""
print("\n🚀 Démarrage de l'interface web...")
print("📍 Adresse: http://0.0.0.0:5000")
print("🔧 Utilisez Ctrl+C pour arrêter le serveur")
print("=" * 50)
try:
# Importer et démarrer l'interface web
from web_interface import app, socketio
# Démarrer le serveur
socketio.run(app, host='0.0.0.0', port=5000, debug=False)
except KeyboardInterrupt:
print("\n🛑 Arrêt demandé par l'utilisateur")
except Exception as e:
print(f"\n❌ Erreur lors du démarrage: {e}")
return False
return True
def main():
"""Fonction principale"""
print_banner()
# Vérifier les dépendances
if not check_dependencies():
return False
# Vérifier les fichiers de configuration
if not check_config_files():
return False
# Créer les répertoires nécessaires
create_directories()
# Démarrer l'interface web
return start_web_interface()
if __name__ == "__main__":
success = main()
if not success:
sys.exit(1)