the little dino terror bot of irc
1# tacy irc bot
2
3This 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.
4
5## How do I hack on it?
6
7### Development
8
9This is entirely in python with `dotenv` as the only non-standard library.
10
11```bash
12pip3 install dotenv
13python3 irc.py
14```
15
16### Environment Setup
17
18Make a `.env` file with the following:
19
20```bash
21# IRC Server Configuration
22IRC_HOST=irc.hackclub.com
23IRC_PORT=6667
24IRC_TLS=0
25
26# Bot Identity
27IRC_NICK=tacy
28IRC_USER=tacy
29IRC_REAL="tacy bot"
30
31# Channels (comma-separated for multiple)
32IRC_CHANNEL=#lounge
33IRC_CHANNELS=#lounge
34
35# Authentication (optional)
36IRC_PASSWORD=
37IRC_NICKSERV_PASSWORD=
38
39# Hack Club AI (REQUIRED)
40HACKAI_API_KEY=your_api_key_here
41HACKAI_MODEL=moonshotai/kimi-k2-0905
42HACKAI_CLASSIFIER_MODEL=google/gemini-2.0-flash-exp
43HACKAI_URL=https://ai.hackclub.com/proxy/v1/chat/completions
44HACKAI_TIMEOUT=20
45HACKAI_CLASSIFIER_TIMEOUT=5
46
47# Bot Behavior
48MAX_PRIVMSG_LEN=400
49RATE_LIMIT_SECONDS=1.2
50TRANSCRIPT_MAX_TURNS=30
51JOIN_GREET_CHANCE=0.15
52RANDOM_CHIME_IN_CHANCE=0.05
53LISTEN_AND_DECIDE_CHANCE=0.25
54USE_CLASSIFIER=1
55MEMORY_FILE=tacy_memory.json
56```
57
58If 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.
59
60<p align="center">
61 <img src="https://raw.githubusercontent.com/taciturnaxolotl/carriage/master/.github/images/line-break.svg" />
62</p>
63
64<p align="center">
65 © 2025-present <a href="https://github.com/taciturnaxolotl">Kieran Klukas</a>
66</p>
67
68<p align="center">
69 <a href="https://github.com/taciturnaxolotl/tacy-irc-bot/blob/main/LICENSE.md"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a>
70</p>