~archangelic

The Pinhook Story (unfinished)

pinhook is by far my favorite project. It's a pluggable irc bot framework written in python.

You can find the source code and a tutorial on Github. On this page though, I'm just going to write thoughts and such on why I made this and my goals for the project.

History

The first time I went to make an IRC bot in python, I was shocked to find there were no projects that made it easy. In fact, the tutorials had you writing an infinite loop wherein you read and manually processed raw IRC text from a socket.

I wanted there to be a better way, so I began on a journey of writing a base class that could be called up simply every time I wanted to create a bot.

I already had a bot named pinhook so that became the name of the project.

In the process of creating this, I realized this might make a great way to be create a way for beginners to make IRC bots without hassle, and so I changed my approach to hide away as much of the complicated stuff as possible, while still making it extensible with plugins.

The plugin system was an adventure in and of itself. It took me on a journey of learning how to create decorators, and how to make them load up in the bot without having to restart the bot.