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"""
|
"""Generate common nicknames from bot name"""
|
||||||
nicknames = []
|
nicknames = []
|
||||||
|
|
||||||
# For kenearosmd, generate: Kene, Kenearos
|
# Generate nicknames at 4, 6, 8, 10 character positions
|
||||||
if len(bot_name) >= 4:
|
# For kenearosmd: Kene, Kenear, Kenearos, kenearosmd
|
||||||
nicknames.append(bot_name[:4]) # First 4 chars (Kene)
|
for length in [4, 6, 8, 10, 12]:
|
||||||
if len(bot_name) >= 8:
|
if len(bot_name) >= length:
|
||||||
nicknames.append(bot_name[:8]) # First 8 chars (Kenearos)
|
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
|
# Remove duplicates and the full name
|
||||||
nicknames = [n for n in set(nicknames) if n != bot_name]
|
nicknames = [n for n in set(nicknames) if n != bot_name]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue