Code von github.com/Kenearos/KI-Chat-Bot-Eugen
Find a file
2026-01-02 23:33:59 +01:00
.github Delete Dependency Review workflow 2026-01-02 21:37:32 +01:00
tests Add comprehensive test suite with 97% code coverage 2026-01-02 22:10:14 +00:00
.coveragerc Add comprehensive test suite with 97% code coverage 2026-01-02 22:10:14 +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 Replace print statements with proper logging 2026-01-02 20:58:49 +00:00
chatbot.py Merge pull request #12 from Kenearos/claude/init-irc-bot-dashboard-kYxih 2026-01-02 22:42:31 +01:00
CLAUDE.md Update CLAUDE.md to reflect FreeSimpleGUI usage 2026-01-02 20:33:30 +00:00
config.py Address PR review comments: fix imports, validation logic, and bot identity 2026-01-02 11:57:09 +00:00
eugen_claude.md Add files via upload 2026-01-02 12:08:03 +01:00
gui.py Update to correct Perplexity API models (2026) 2026-01-02 21:52:12 +00:00
LICENSE Initial commit 2026-01-02 12:07:44 +01:00
LICENSE_GUIDE.md Add files via upload 2026-01-02 12:12:40 +01:00
memory.py Replace print statements with proper logging 2026-01-02 20:58:49 +00:00
MODEL_CHANGE.md Update to correct Perplexity API models (2026) 2026-01-02 21:52:12 +00:00
pytest.ini Add comprehensive test suite with 97% code coverage 2026-01-02 22:10:14 +00:00
README.md Add interactive setup wizard and personalize bot for Kene 2026-01-02 11:41:21 +00:00
requirements.txt Add comprehensive test suite with 97% code coverage 2026-01-02 22:10:14 +00:00
setup_wizard.py Address PR review comments: fix imports, validation logic, and bot identity 2026-01-02 11:57:09 +00:00
test_irc.py Add debug test scripts for troubleshooting 2026-01-02 22:14:59 +00:00
test_mention.py Add debug test scripts for troubleshooting 2026-01-02 22:14:59 +00:00
utils.py Expand nickname generation for better name variations 2026-01-02 22:18:41 +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

Run the interactive setup wizard to configure the bot:

python setup_wizard.py

The wizard will:

  • Guide you through getting Twitch OAuth token
  • Help you set up Perplexity API key
  • Validate your credentials
  • Create necessary directories and config files

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.