# 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. ```bash pip3 install dotenv python3 irc.py ``` ### Environment Setup Make a `.env` file with the following: ```bash # 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](https://tangled.org/dunkirk.sh/tacy-irc-bot) and the github is just a mirror.

© 2025-present Kieran Klukas