The two most interesting aspects of TimberBot are its plugin system and its chat service versatility.
When it became untenable to keep all chat functionality in one big script, I decided to split it apart into plugins which the bot owner could then load and unload at runtime. This way, parts of the code that the owner does not intend to use cannot cause issues. Loading Python modules at runtime is fairly simple and the bot’s codebase does all necessary error handling so a faulty plugin will not bring the whole bot down.
Timberbot was initially developed to connect to Twitch chat, which uses an IRC gateway. Connectors were later developed for general IRC servers, Picarto, Hitbox (discarded in 2016), Twitter direct messages (discarded in 2019) and Discord (discarded in 2022). I began work on connectors for Slack and YouTube Gaming, but dropped the efforts when it started to look like familiarizing myself with their APIs would not be worth the effort.