Merge pull request #16 from Kenearos/claude/init-irc-bot-dashboard-kYxih

Claude/init irc bot dashboard k yxih
This commit is contained in:
Kenearos 2026-01-02 23:33:59 +01:00 committed by GitHub
commit b877346f76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 95 additions and 5 deletions

48
test_irc.py Normal file
View file

@ -0,0 +1,48 @@
#!/usr/bin/env python3
"""
Simple IRC test to see if messages are received
"""
import irc.bot
from dotenv import load_dotenv
import os
load_dotenv()
class TestBot(irc.bot.SingleServerIRCBot):
def __init__(self):
token = os.getenv("TWITCH_OAUTH_TOKEN")
nickname = os.getenv("TWITCH_BOT_NICKNAME")
channel = os.getenv("TWITCH_CHANNEL")
print(f"Bot: {nickname}")
print(f"Channel: {channel}")
print(f"Token: {token[:15]}...")
irc.bot.SingleServerIRCBot.__init__(
self,
[("irc.chat.twitch.tv", 6667, token)],
nickname,
nickname
)
self.channel = channel
def on_welcome(self, connection, event):
print(f"✅ Connected! Joining {self.channel}")
connection.cap("REQ", ":twitch.tv/membership")
connection.cap("REQ", ":twitch.tv/tags")
connection.cap("REQ", ":twitch.tv/commands")
connection.join(self.channel)
def on_pubmsg(self, connection, event):
username = event.source.nick
message = event.arguments[0]
print(f"📨 MESSAGE | {username}: {message}")
if __name__ == "__main__":
print("Starting IRC test bot...")
print("Write a message in your Twitch chat!")
print("Press Ctrl+C to stop")
print()
bot = TestBot()
bot.start()

37
test_mention.py Normal file
View file

@ -0,0 +1,37 @@
#!/usr/bin/env python3
"""
Test script to check if mention detection works
"""
from utils import MentionDetector
# Test with your bot name
detector = MentionDetector(bot_name="Kenearos")
print("Testing Mention Detection for bot: Kenearos")
print("=" * 60)
print(f"Generated nicknames: {detector.nicknames}")
print()
# Test messages
test_messages = [
"@Kenearos Hi",
"Kenearos: wie gehts dir?",
"Kene was meinst du?",
"Hey Kenearos!",
"kenearos test",
"KENEAROS TEST",
"Hi wie gehts",
"Hallo",
"test message without bot",
]
for msg in test_messages:
is_mentioned = detector.is_mentioned(msg)
is_greeting = detector.is_ambiguous_greeting(msg)
content = detector.extract_content(msg) if is_mentioned else "N/A"
print(f"Message: '{msg}'")
print(f" Mentioned: {is_mentioned}")
print(f" Ambiguous greeting: {is_greeting}")
print(f" Extracted content: '{content}'")
print()

View file

@ -49,11 +49,16 @@ class MentionDetector:
"""Generate common nicknames from bot name"""
nicknames = []
# For kenearosmd, generate: Kene, Kenearos
if len(bot_name) >= 4:
nicknames.append(bot_name[:4]) # First 4 chars (Kene)
if len(bot_name) >= 8:
nicknames.append(bot_name[:8]) # First 8 chars (Kenearos)
# Generate nicknames at 4, 6, 8, 10 character positions
# For kenearosmd: Kene, Kenear, Kenearos, kenearosmd
for length in [4, 6, 8, 10, 12]:
if len(bot_name) >= length:
nicknames.append(bot_name[:length])
# Also add common variations
# If name ends with 'md', add version without it
if bot_name.lower().endswith('md') and len(bot_name) > 2:
nicknames.append(bot_name[:-2]) # kenearos from kenearosmd
# Remove duplicates and the full name
nicknames = [n for n in set(nicknames) if n != bot_name]