the little dino terror bot of irc
Python 100.0%
6 1 0

Clone this repository

https://tangled.org/dunkirk.sh/tacy-irc-bot
git@knot.dunkirk.sh:dunkirk.sh/tacy-irc-bot

For self-hosted knots, clone URLs may differ based on your setup.

README.md

tacy irc bot#

This is a little bot I made to run on irc to try and experiment with non linear turns with an llm. IRC is inherintly a mutli conversation medium that doesn't work in strict turns which makes it tricky create a good conversation LLM bot. This currently does a passible job but it would be interesting to try applying a more human like buffer where it doesn't think about stuff untill it has collected a certain amount of messages or a certain timeframe of messages.

How do I hack on it?#

Development#

This is entirely in python with dotenv as the only non-standard library.

pip3 install dotenv
python3 irc.py

Environment Setup#

Make a .env file with the following:

# IRC Server Configuration
IRC_HOST=irc.hackclub.com
IRC_PORT=6667
IRC_TLS=0

# Bot Identity
IRC_NICK=tacy
IRC_USER=tacy
IRC_REAL="tacy bot"

# Channels (comma-separated for multiple)
IRC_CHANNEL=#lounge
IRC_CHANNELS=#lounge

# Authentication (optional)
IRC_PASSWORD=
IRC_NICKSERV_PASSWORD=

# Hack Club AI (REQUIRED)
HACKAI_API_KEY=your_api_key_here
HACKAI_MODEL=moonshotai/kimi-k2-0905
HACKAI_CLASSIFIER_MODEL=google/gemini-2.0-flash-exp
HACKAI_URL=https://ai.hackclub.com/proxy/v1/chat/completions
HACKAI_TIMEOUT=20
HACKAI_CLASSIFIER_TIMEOUT=5

# Bot Behavior
MAX_PRIVMSG_LEN=400
RATE_LIMIT_SECONDS=1.2
TRANSCRIPT_MAX_TURNS=30
JOIN_GREET_CHANCE=0.15
RANDOM_CHIME_IN_CHANCE=0.05
LISTEN_AND_DECIDE_CHANCE=0.25
USE_CLASSIFIER=1
MEMORY_FILE=tacy_memory.json

If you want to report an issue the main repo is the tangled repo and the github is just a mirror.

© 2025-present Kieran Klukas