Commit graph

28 commits

Author SHA1 Message Date
Claude
e9fc21e423
Fix bot not responding to mentions - event loop wasn't running
The bot was detecting mentions correctly but not responding because
the async event loop was never started.

Changes:
- Created separate _run_event_loop() method to run loop.run_forever()
- Start event loop in its own daemon thread before IRC bot
- IRC bot thread no longer sets event loop (handled by loop thread)
- Now asyncio.run_coroutine_threadsafe() can properly execute async tasks

This fixes the issue where mentions were detected but handle_mention()
was never executed because there was no running event loop to process
the coroutine.
2026-01-02 21:09:39 +00:00
Claude
a52be47121
Fix shutdown error: file descriptor cannot be a negative integer
Improved error handling in bot shutdown process:
- Check connection state before attempting to quit IRC
- Use thread-safe event loop shutdown
- Filter expected shutdown errors from error logs
- Changed shutdown errors to debug level logging

This prevents the "file descriptor cannot be a negative integer (-1)"
error from appearing as an ERROR when cleanly shutting down the bot.
2026-01-02 21:06:47 +00:00
Kenearos
1678702ef3
Merge pull request #8 from Kenearos/claude/fix-todo-comment-SJcqr
Find and fix TODO comment
2026-01-02 22:01:29 +01:00
Claude
2b15ceeaa1
Replace print statements with proper logging
Fixed inconsistent error handling in ai_provider.py and memory.py by:
- Adding optional logger parameter to PerplexityProvider and ConversationMemory classes
- Replacing all print() statements with proper logger.error() calls
- Updating chatbot.py to pass logger instance to both components
- Ensuring consistent logging architecture across the codebase

This improves error visibility and integrates with the existing logging infrastructure.
2026-01-02 20:58:49 +00:00
Kenearos
a1f30c31c6
Merge pull request #7 from Kenearos/claude/fix-job-59338051935-Lo2Jr
Add detailed logging for content extraction debugging
2026-01-02 21:54:59 +01:00
Claude
193e269274
Add detailed logging for content extraction debugging
- Log extracted content to help debug empty content issue
- Add warning when content is empty after mention extraction
- Display extraction info in dashboard for better visibility

Helps diagnose why bot detects mentions but doesn't respond
2026-01-02 20:53:11 +00:00
Kenearos
e81b2f91e6
Merge pull request #6 from Kenearos/claude/fix-job-59338051935-Lo2Jr
Debug and fix failing job 59338051935
2026-01-02 21:37:40 +01:00
Kenearos
ab437d2905
Delete Dependency Review workflow
Removed the Dependency Review workflow configuration.
2026-01-02 21:37:32 +01:00
Claude
156bcbb52f
Update CLAUDE.md to reflect FreeSimpleGUI usage 2026-01-02 20:33:30 +00:00
Claude
b76db81575
Switch from PySimpleGUI to FreeSimpleGUI
- Replace PySimpleGUI 5.0.8.3 with FreeSimpleGUI 5.1.1
- FreeSimpleGUI is a community fork without license requirements
- PySimpleGUI 5.x requires paid license after trial period
- Remove compatibility fallback code (no longer needed)
- Update documentation to reflect FreeSimpleGUI usage

Fixes: AttributeError 'module PySimpleGUI has no attribute theme'
2026-01-02 20:33:05 +00:00
Claude
0aad0f80d2
Fix PySimpleGUI 5.x compatibility issue with theme() method
- Add try/except fallback for sg.theme() -> sg.set_options()
- Resolves AttributeError when using PySimpleGUI 5.0.8.3
- Maintains backward compatibility with PySimpleGUI 4.x
2026-01-02 20:29:52 +00:00
Kenearos
83b8d3ee4a
Merge pull request #5 from Kenearos/claude/search-todo-start-Alr4l
Add comprehensive GitHub Actions CI/CD workflows
2026-01-02 21:18:17 +01:00
Kenearos
92fb10860a
Merge branch 'main' into claude/search-todo-start-Alr4l 2026-01-02 21:16:47 +01:00
Kenearos
49d90df3cb
Merge pull request #3 from Kenearos/claude/setup-ai-chat-wizard-wNFh2
Setup wizard for AI chat integration
2026-01-02 21:15:34 +01:00
Kenearos
5f9dbe6b15
Merge pull request #4 from Kenearos/copilot/sub-pr-3
Fix resource management, validation logic, and import organization in setup wizard
2026-01-02 21:15:02 +01:00
copilot-swe-agent[bot]
b984d9886d Address PR review comments: fix imports, validation logic, and bot identity
Co-authored-by: Kenearos <86194771+Kenearos@users.noreply.github.com>
2026-01-02 11:57:09 +00:00
copilot-swe-agent[bot]
63936b33b1 Initial plan 2026-01-02 11:52:00 +00:00
Claude
4b0d67fed0
Update PySimpleGUI to version 5.0.8.3
- Fix CI/CD failure due to PySimpleGUI 4.60.0 being removed from PyPI
- Upgrade to PySimpleGUI 5.0.8.3 (latest stable version)
- GUI code uses basic features that should remain compatible
2026-01-02 11:47:26 +00:00
Claude
6c3dbac131
Add interactive setup wizard and personalize bot for Kene
Changes:
- Create setup_wizard.py with interactive configuration flow
  - Validates Twitch OAuth token via IRC test
  - Validates Perplexity API key with test request
  - Guides user through all required settings
  - Creates .env file and necessary directories

- Update config.py system prompt to reflect Kene's personality
  - Bot now responds AS Kene (first person)
  - Includes tech expertise (Bambu X1C, H2C, coding/bots)
  - Reflects political stance (left-leaning, anti-right)
  - Maintains authentic conversational style

- Update README.md with setup wizard instructions
  - Clear step-by-step for Option 1 (wizard)
  - Lists wizard features and benefits
2026-01-02 11:41:21 +00:00
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
Kenearos
2ae9e09923
Add GitHub Actions workflow for Python package
This workflow installs Python dependencies, runs linting with flake8, and executes tests with pytest across multiple Python versions.
2026-01-02 12:26:56 +01:00
Kenearos
ec6f3baa61
Merge pull request #2 from Kenearos/claude/search-todo-start-Alr4l
Search for TODO and start implementation
2026-01-02 12:25:45 +01:00
Claude
963a65536f
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
2026-01-02 11:18:40 +00:00
Kenearos
81f2363c33
Add files via upload 2026-01-02 12:12:40 +01:00
Kenearos
742c907a5a
Merge pull request #1 from Kenearos/claude/update-claude-md-32u6D
Create or update CLAUDE.MD file
2026-01-02 12:11:27 +01:00
Claude
3694568236
Add CLAUDE.md project guide for Claude Code
Create comprehensive project documentation including:
- Project overview and core functionality
- Tech stack and dependencies
- Project structure breakdown
- Key components and message flow
- Development guidelines and common commands
2026-01-02 11:10:20 +00:00
Kenearos
d992aabc70
Add files via upload 2026-01-02 12:08:03 +01:00
Kenearos
f06f078eab
Initial commit 2026-01-02 12:07:44 +01:00