Butterrobot 0.2.4 released
I’ve decided to revive Butterrobot after a long hiatus.
The project was originally written in Python and it was designed to be a simple way to have quality of life in Slack and Telegram channels. After I made the initial implementation I started going deeper into Golang and mostly abandoned it with a promise to come back and rewrite it in the future.
That day is here.
I went ahead and rewrote the entire thing in Golang. All previous features are still available and working as they should before. What I have lost is the ability to easily create plugins without making changes to the original repository. The implementation in Python relied on pip packages that could create entrypoints in the plugin and were automatically discovered by the application. In Golang, we need to manually register plugins and their entrypoints in the code so all plugins go into the main repository. I could have gone the RPC route but it added unnecessary complexity and overhead. Instead, I opted for a more straightforward approach that allows for easy plugin development and maintenance.
The main repository is now available on my git forge and it can be used on Telegram bots easily, as I am already using it in my groups. Right now a small subset of plugins are available but I plan to add more in the future as I add more capabilities to the bot framework.