All of the code supporting mockturtle, the lobste.rs IRC bot, is now available on GitHub. Like any the rest of our code, if your have any questions feel free to reach out in #lobsters on freenode.
I’ve been participating in the Lobsters IRC channel on Freenode since it was created in July 2015, when it was still ##lobsters (two number signs on Freenode indicate an unofficial channel. It became an official channel in September 2015). When I stood up the bot in that first week I reused infrastructure I already had: a mail server to receive notification from lobste.rs and my IRC bouncer (ZNC) to front the two daemons (irker, Sopel) that implemented the bot proper. I wrote an adapter to convert email story submission messages to IRC notices and a handful of modules (since expanded) to give the bot it’s personality. All of that was done in a rush on an existing host that already had most of the parts I needed.
Since writing this code I have wanted to publish it–first that required pulling it all out of my personal system on to a dedicated VM (so I could give other channel operators access to it) followed by @355E3B here pushing that work in to Ansible and greatly simplifying deployment. He’s integrated irker-like functionality in to Sopel, removing the need for a standalone irker daemon and as a consequence removed the need for ZNC to mediate between these multiple daemon processes. It is an outstanding improvement over the needlessly complicated complicity of daemons that had been there.
This morning we paved the existing system and deployed a new instance provisioned from our Ansible playbook–completing all the work necessary to publish it.
Thank you @355E3B and @aleph for your continued help with the care and feeding of our IRC infrastructure.
Thanks for flying freenode!
I hang out in the channel and I’m pleased to say that it’s one of the better communities we host. It covers a lot of discussion and people generally get on.
Please be sure to let us know if there’s anything we can do to make your time there any better :)