insobot is an extensible IRC bot built on a module/plugin architecture; its functionality is split into separate shared objects that are dynamically loaded and hot-reloaded on the fly.

Written in C, it aims to have a low resource footprint suited for running on small Linux devices such as the Raspberry Pi. The code is free software available here under the MIT license.

Many modules are currently available, and in use by the insobot instances running on Twitch and the Handmade Network IRC server, including:

  • Expansion of URLs including Youtube & Twitter (mod_linkinfo.c)
  • ++/-- Karma tracking (mod_karma.c)
  • Storing & recalling quotes (mod_quotes.c)
  • Twitch.tv functions including !uptime and stream notifier (mod_twitch.c)
  • Alias/Macro creation (mod_alias.c)
  • Handmade Hero functions including schedule information (mod_hmh.c)
  • Community stream schedule information (mod_schedule.c)
  • PSAs / auto-responses (mod_psa.c)
  • Chat moderation (mod_automod.c)
  • Markov-chain text generation (mod_markov.c)
  • New: Polls (mod_poll.c)

Insobot is in active development and I aim to add any new features that can help the handmade community, or other communities that would like to run their own insobot instances. Additionally any suggestions or contributions are welcome.

If you would like to create your own modules, take a look at the API in the module.h file. If something isn't clear, make a post on the forum or contact me and I'll try to help.