Welcome to UnGarage’s documentation!

This is a guide on how I’m managing the irc bot UnGarage for la Quadrature du Net (and many others that I’ve deployed afterwards). My constrain are the modular, changing and original requests of a strange mustache owner. Therefor I was in need of a very flexible framework than can catch up with this strange phenomena.

The result of this work make an heavy use of the UNIX principle of a collection of small reusable tools. Because of this I can’t release a source code so I’m releasing this documentation.

Using this method is:

  • a very high flexibility, you’ll be able to modify, stop, restart and change every part of it independently at any time
  • it is language agnostic, program it in whatever you desire (but you’ll very likely need at least a bit of shell script to glue everything together)
  • make the problem of creating a multitasking IRC boot so simple and elegant
  • very simple to use and maintained ... once you dig in it (I found this easy but this isn’t the common way of approaching this kind of problem)
  • might be a bit hard for other people to help you or understand your work for the same reason than described in the previous point
  • is annoying if you need to relaunch everything (eg: server reboot) but I think I’m about to solve this problem (using supervisord) but I’m still experimenting
  • can also help to solve other problem than building an irc (this is basically a rediscovery of the Unix way of doing things to handle stream of textual datas) and is also possible for xmpp by replace ii with jj

Contribute

You can find the source of this documentation here (github), just send a pull request or open bugs there.

This doc is in the process of a rewriting, everything after this might be a bit outdated (but still works)

Project Versions

Table Of Contents

Next topic

Setting up the bot

This Page