2026-04-22 22:42:36 +02:00
2026-04-22 22:42:36 +02:00
2025-02-21 00:53:38 +01:00
2026-04-22 22:42:36 +02:00
2026-04-22 22:42:36 +02:00
2026-04-22 22:42:36 +02:00
2026-04-22 22:42:36 +02:00
2026-04-22 22:42:36 +02:00
2025-09-06 17:26:38 +02:00
2024-11-30 15:53:25 +01:00
2025-04-07 13:26:43 +02:00
2024-11-30 15:53:25 +01:00
2024-11-30 15:53:25 +01:00
2026-04-22 22:42:36 +02:00
2026-04-22 22:42:36 +02:00
2026-04-22 22:42:36 +02:00
2026-04-22 22:42:36 +02:00
2026-04-22 22:42:36 +02:00
2024-11-30 15:53:25 +01:00
2025-04-07 13:26:43 +02:00
2026-04-22 22:42:36 +02:00
2025-07-20 01:50:24 +02:00
2026-04-22 22:42:36 +02:00
2025-07-20 03:33:48 +02:00
2025-09-06 17:26:38 +02:00
2025-07-20 01:50:24 +02:00
2025-09-06 17:26:38 +02:00
2025-09-06 17:26:38 +02:00
2025-07-20 01:50:24 +02:00
2026-04-22 22:42:36 +02:00

twitchBot-intelligent

Bot Twitch qui enregistre laudio dun stream, le transcrit en texte, analyse le contenu avec une couche de type « chat IA » (ex. tgpt), et peut répondre dans le chat. Le dépôt inclut une interface web pour piloter les flux et les composants (enregistrement, sous-titres, génération, envoi de messages).

Fonctionnalités principales

  • Enregistrement audio du stream (via intégration avec twitch-recordAudio).
  • Transcription / alignement temporel (workflow prévu avec WhisperX).
  • Génération de réponses et stockage des générations (fichiers JSON sous storage/).
  • Lecture et envoi sur le chat Twitch (OAuth, utilisateurs dans config/user.json).
  • Interaction chat (mentions) : si un viewer mentionne un des comptes enregistrés (ex: @exoticnaturees), le bot peut répondre automatiquement via réponses préenregistrées et règles conditionnelles (page “Interaction chat”).
  • Interface web (Flask + Socket.IO) : gestion des flux, toggles IA / contrôle Twitch, sous-titres automatiques, etc.

Larchitecture détaillée des routes et composants est décrite dans README_ARCHITECTURE.md. Linterface utilisateur côté navigateur est décrite dans README_WEB_INTERFACE.md.

Structure du dépôt

Élément Rôle
start_web_interface.py Point dentrée recommandé : vérifie dépendances, config, lance le serveur.
web_interface.py Application Flask : routes HTTP, Socket.IO, boucles auto (sous-titres / messages).
twitch_bot/ Logique métier isolée : controller.py (orchestration des flux et bots), chat_state.py (drapeau denvoi des messages).
fonction/ Classes principales du bot (first_class.py, second_fonction.py).
config/ config.json (paramètres généraux), user.json (comptes / tokens Twitch).
storage/ Données JSON (sous-titres, générations IA, etc.).
static/, templates/ Frontend de linterface web.
main_auto_loop.py Mode terminal : boucle clavier pour enregistrement / IA sans passer par le web.
debug/ Scripts et essais de debug (hors chemin nominal).

Prérequis

  • Python 3.10+ (le projet a été utilisé avec 3.10 ; adaptez le venv si vous changez de version).
  • Comptes / tokens Twitch configurés pour le chat et lAPI selon votre usage.
  • Pour la transcription GPU : CUDA / cuDNN si vous utilisez Whisper côté machine (ex. Arch : sudo pacman -S cuda cudnn — ajustez selon votre distribution).

Installation

git clone https://github.com/Foufure13/twitchBot-intelligent.git
cd twitchBot-intelligent

python3 -m venv env
source env/bin/activate   # Windows: env\Scripts\activate

pip install -r requirements.txt

Dépôts externes (selon votre pipeline)

  • Audio : twitch-recordAudio — enregistrement du flux.
  • Transcription : WhisperX — installation suivant la doc du projet (python setup.py install ou équivalent).
  • « Chat » texte en CLI : tgpt — binaire ou méthode dappel attendue par votre configuration.

Fichiers de configuration

Avant de lancer linterface, créez ou complétez au minimum :

  • config/config.json — paramètres du bot (chemins, prompts, etc.).
  • config/user.json — utilisateurs Twitch pour lenvoi des messages.

Le script start_web_interface.py vérifie la présence de ces fichiers et crée les dossiers storage/, record/, in_record/ si besoin.

Lancement

source env/bin/activate
python start_web_interface.py

Linterface écoute par défaut sur http://0.0.0.0:5000 (voir start_web_interface.py).

Interaction chat (mentions @)

Principe

  • Si un message de chat contient une mention dun compte enregistré (défini dans config/user.json), par exemple @exoticnaturees, alors le module “Interaction chat” peut répondre automatiquement en notifiant lauteur:
    • par défaut: @<auteur> salut
    • ou via une règle conditionnelle (ex: si cammenbert dit “etoile etoile”, répondre @cammenbert filante)

Configuration

  • La configuration se fait dans linterface web, onglet Interaction chat.
  • Les données sont stockées sous storage/ :
    • storage/interaction_chat_config.json
    • storage/interaction_chat_log.json

Mode TGPT

  • Le mode TGPT est disponible: il envoie le message du viewer à tgpt avec un préprompt (global ou par règle), puis renvoie la réponse.

Mode terminal sans interface web :

python main_auto_loop.py -twitchname NOM_DU_CANAL

(Consulter les options -threads, -recordtime dans le script.)

Dépannage

Réparer un environnement pip cassé

deactivate
rm -rf env
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt

Whisper / erreurs fréquentes

  • Discussion utile : openai/whisper#1027.
  • Sur Arch, si besoin : sudo pacman -S python-openai-whisper.

Références communautaires (bots / chat Twitch)


Pour le comportement des toggles chat / sous-titres et correctifs récents, voir aussi les fichiers notes du dépôt (CHAT_TOGGLE_README.md, TOGGLE_IMPROVEMENTS.md, etc.) si présents.

S
Description
No description provided
Readme 18 MiB
Languages
Python 53.9%
JavaScript 24.8%
HTML 11.7%
CSS 9.5%
Shell 0.1%