Code von github.com/Kenearos/KI-Chat-Bot-Eugen
Find a file
Claude c8d09969df
Add comprehensive GitHub Actions CI/CD workflows
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.
2026-01-02 11:29:19 +00:00
.github Add comprehensive GitHub Actions CI/CD workflows 2026-01-02 11:29:19 +00:00
.env.example Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00
.gitignore Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00
ai_provider.py Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00
chatbot.py Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00
CLAUDE.md Add CLAUDE.md project guide for Claude Code 2026-01-02 11:10:20 +00:00
config.py Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00
eugen_claude.md Add files via upload 2026-01-02 12:08:03 +01:00
gui.py Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00
LICENSE Initial commit 2026-01-02 12:07:44 +01:00
memory.py Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00
README.md Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00
requirements.txt Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00
utils.py Implement complete Eugen Twitch chatbot 2026-01-02 11:18:40 +00:00

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

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:

  1. Visit twitchtokengenerator.com
  2. Generate token with chat:read and chat:edit scopes
  3. Copy the token (should start with oauth:)

Perplexity API Key:

  1. Visit perplexity.ai/api
  2. Sign up/Login
  3. Generate new API key
  4. 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.