the little dino terror bot of irc
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs: add readme and license

+95
+25
LICENSE.md
··· 1 + The MIT License (MIT) 2 + ===================== 3 + 4 + Copyright © `2025` `Kieran Klukas` 5 + 6 + Permission is hereby granted, free of charge, to any person 7 + obtaining a copy of this software and associated documentation 8 + files (the “Software”), to deal in the Software without 9 + restriction, including without limitation the rights to use, 10 + copy, modify, merge, publish, distribute, sublicense, and/or sell 11 + copies of the Software, and to permit persons to whom the 12 + Software is furnished to do so, subject to the following 13 + conditions: 14 + 15 + The above copyright notice and this permission notice shall be 16 + included in all copies or substantial portions of the Software. 17 + 18 + THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, 19 + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 + OTHER DEALINGS IN THE SOFTWARE.
+70
README.md
··· 1 + # tacy irc bot 2 + 3 + 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. 4 + 5 + ## How do I hack on it? 6 + 7 + ### Development 8 + 9 + This is entirely in python with `dotenv` as the only non-standard library. 10 + 11 + ```bash 12 + pip3 install dotenv 13 + python3 irc.py 14 + ``` 15 + 16 + ### Environment Setup 17 + 18 + Make a `.env` file with the following: 19 + 20 + ```bash 21 + # IRC Server Configuration 22 + IRC_HOST=irc.hackclub.com 23 + IRC_PORT=6667 24 + IRC_TLS=0 25 + 26 + # Bot Identity 27 + IRC_NICK=tacy 28 + IRC_USER=tacy 29 + IRC_REAL="tacy bot" 30 + 31 + # Channels (comma-separated for multiple) 32 + IRC_CHANNEL=#lounge 33 + IRC_CHANNELS=#lounge 34 + 35 + # Authentication (optional) 36 + IRC_PASSWORD= 37 + IRC_NICKSERV_PASSWORD= 38 + 39 + # Hack Club AI (REQUIRED) 40 + HACKAI_API_KEY=your_api_key_here 41 + HACKAI_MODEL=moonshotai/kimi-k2-0905 42 + HACKAI_CLASSIFIER_MODEL=google/gemini-2.0-flash-exp 43 + HACKAI_URL=https://ai.hackclub.com/proxy/v1/chat/completions 44 + HACKAI_TIMEOUT=20 45 + HACKAI_CLASSIFIER_TIMEOUT=5 46 + 47 + # Bot Behavior 48 + MAX_PRIVMSG_LEN=400 49 + RATE_LIMIT_SECONDS=1.2 50 + TRANSCRIPT_MAX_TURNS=30 51 + JOIN_GREET_CHANCE=0.15 52 + RANDOM_CHIME_IN_CHANCE=0.05 53 + LISTEN_AND_DECIDE_CHANCE=0.25 54 + USE_CLASSIFIER=1 55 + MEMORY_FILE=tacy_memory.json 56 + ``` 57 + 58 + 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. 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 + &copy 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>