Merge pull request #16 from Kenearos/claude/init-irc-bot-dashboard-kYxih
Claude/init irc bot dashboard k yxih
This commit is contained in:
commit
b877346f76
3 changed files with 95 additions and 5 deletions
48
test_irc.py
Normal file
48
test_irc.py
Normal 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
37
test_mention.py
Normal 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()
|
||||
15
utils.py
15
utils.py
|
|
@ -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]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue