Code von github.com/Kenearos/KI-Chat-Bot-Eugen
Implemented automated testing and quality assurance pipelines: Workflows added: - python-package.yml: Main CI pipeline * Multi-OS testing (Ubuntu, Windows, macOS) * Python 3.9-3.12 compatibility testing * Linting with flake8 * Code formatting checks with black * Type checking with mypy * Import and compilation tests * Unit tests for core components - codeql.yml: Security scanning * Weekly automated security analysis * CodeQL vulnerability detection * Extended security and quality queries - dependency-review.yml: Dependency safety * Automatic dependency vulnerability checks * License compliance verification * Blocks moderate+ severity issues - pr-labeler.yml: PR automation * Auto-labels based on changed files * PR size labeling (xs/s/m/l/xl) * Metadata extraction for better organization - welcome.yml: Community engagement * Welcomes first-time contributors * Provides helpful guidelines * Improves contributor experience Configuration: - labeler.yml: Label mapping for automatic categorization All workflows include proper permissions and error handling. |
||
|---|---|---|
| .github | ||
| .env.example | ||
| .gitignore | ||
| ai_provider.py | ||
| chatbot.py | ||
| CLAUDE.md | ||
| config.py | ||
| eugen_claude.md | ||
| gui.py | ||
| LICENSE | ||
| memory.py | ||
| README.md | ||
| requirements.txt | ||
| utils.py | ||
Eugen - Intelligent Twitch Chat Bot
An AI-powered Twitch chat bot specializing in Gaming and 3D Printing topics, powered by Perplexity Sonar API.
Features
- Smart Name Recognition: Automatically responds when mentioned (@Eugen, Eugen:, etc.)
- Persistent Memory: Maintains conversation history per user (max 25 messages)
- Context-Aware: Remembers previous conversations for up to 1 hour
- Perplexity Integration: Uses Perplexity Sonar API for intelligent, real-time responses
- Live Dashboard: GUI monitoring interface showing all activity in real-time
- Topics: Gaming (WoW, Elden Ring), 3D Printing (Prusa, Bambu, Creality), Tech (Python, Linux)
Quick Start
Prerequisites
- Python 3.9+ (3.11+ recommended)
- Twitch account for the bot
- Perplexity API key
Installation
# Clone the repository
git clone https://github.com/Kenearos/KI-Chat-Bot-Eugen.git
cd KI-Chat-Bot-Eugen
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
.\venv\Scripts\Activate.ps1
# On Linux/Mac:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
Configuration
Option 1: Setup Wizard (Recommended)
Simply run the bot and the setup wizard will guide you:
python chatbot.py
Option 2: Manual Configuration
Copy .env.example to .env and fill in your credentials:
cp .env.example .env
Edit .env with your values:
TWITCH_OAUTH_TOKEN=oauth:your_token_here
TWITCH_BOT_NICKNAME=Eugen
TWITCH_CHANNEL=#your_channel_here
PERPLEXITY_API_KEY=pplx-your_key_here
Getting API Keys
Twitch OAuth Token:
- Visit twitchtokengenerator.com
- Generate token with
chat:readandchat:editscopes - Copy the token (should start with
oauth:)
Perplexity API Key:
- Visit perplexity.ai/api
- Sign up/Login
- Generate new API key
- Copy the key (should start with
pplx-)
Running the Bot
python chatbot.py
The dashboard will open automatically showing live activity.
Usage
Once running, the bot responds when mentioned in Twitch chat:
User: @Eugen what's the best class in WoW?
Eugen: @User The best class depends on your playstyle...
User: Eugen, how do I level my 3D printer?
Eugen: @User For bed leveling, start by...
Project Structure
eugen/
├── chatbot.py # Main entry point
├── config.py # Configuration management
├── gui.py # Dashboard GUI
├── ai_provider.py # Perplexity API integration
├── memory.py # Conversation memory
├── utils.py # Helper functions
├── requirements.txt # Python dependencies
├── .env # Your secrets (DO NOT COMMIT)
├── data/
│ └── conversations/ # User chat histories
└── logs/
├── eugen.log # Main log
└── api_debug.log # API debug logs
Documentation
- CLAUDE.md: Quick reference guide for Claude Code
- eugen_claude.md: Detailed German documentation with architecture and implementation details
Development
The bot is built with:
- Python 3.9+
- Perplexity Sonar API for AI responses
- Twitch IRC for chat integration
- PySimpleGUI for dashboard
- Async/await for concurrent operations
Troubleshooting
Bot doesn't respond:
- Check that .env has correct OAuth token and API key
- Verify bot is in the correct channel
- Check logs/eugen.log for errors
API errors:
- Verify Perplexity API key is valid
- Check your API credits at perplexity.ai
- Enable DEBUG_MODE=true in .env for detailed logs
IRC connection failed:
- Verify internet connection
- Check firewall settings for port 6667
- Regenerate Twitch OAuth token if expired
License
See LICENSE file for details.
Contributing
Contributions welcome! Please open an issue or pull request.