Implement complete Eugen Twitch chatbot

This commit implements the full Eugen bot based on specifications in CLAUDE.md and eugen_claude.md.

Features implemented:
- Smart name recognition (@Eugen, Eugen:, etc.)
- Persistent conversation memory per user (max 25 messages, 1 hour retention)
- Perplexity Sonar API integration for AI responses
- Live monitoring dashboard with PySimpleGUI
- Setup wizard for first-time configuration
- Comprehensive logging (main log + API debug log)

Files added:
- config.py: Configuration management from .env and config.json
- utils.py: MentionDetector and Logger utility classes
- memory.py: ConversationMemory for persistent chat history
- ai_provider.py: PerplexityProvider for API integration
- gui.py: Dashboard and SetupWizard GUI components
- chatbot.py: Main EugenBot orchestrator with IRC handling
- requirements.txt: Python dependencies
- .env.example: Template for environment variables
- .gitignore: Renamed from gitignore for proper Git usage

Updated:
- README.md: Complete usage instructions and documentation

The bot is ready to use - users just need to add their API keys and run python chatbot.py
This commit is contained in:
Claude 2026-01-02 11:18:40 +00:00
parent 742c907a5a
commit 963a65536f
No known key found for this signature in database
10 changed files with 1350 additions and 2 deletions

19
.env.example Normal file
View file

@ -0,0 +1,19 @@
# Twitch Configuration
TWITCH_OAUTH_TOKEN=oauth:your_token_here
TWITCH_BOT_NICKNAME=Eugen
TWITCH_CHANNEL=#your_channel_here
# Perplexity Configuration
PERPLEXITY_API_KEY=pplx-your_key_here
PERPLEXITY_MODEL=sonar-pro
MAX_TOKENS=450
# Bot Configuration
DEBUG_MODE=true
AUTO_RECONNECT=true
RECONNECT_DELAY=10
# Data Configuration
DATA_DIR=data/conversations
LOG_DIR=logs
CONTEXT_RETENTION_HOURS=1