diff --git a/content/blog/2025/04/22/revisiting-butterrobot/butterrobot.png b/content/blog/2025/04/22/revisiting-butterrobot/butterrobot.png new file mode 100644 index 0000000..2f9ce60 Binary files /dev/null and b/content/blog/2025/04/22/revisiting-butterrobot/butterrobot.png differ diff --git a/content/blog/2025/04/22/revisiting-butterrobot/index.md b/content/blog/2025/04/22/revisiting-butterrobot/index.md new file mode 100644 index 0000000..fa95bf6 --- /dev/null +++ b/content/blog/2025/04/22/revisiting-butterrobot/index.md @@ -0,0 +1,24 @@ ++++ +title = "Butterrobot 0.2.4 released" +date = 2025-04-22 +draft = false +tags = ["butterrobot", "golang", "projects", "releases"] ++++ + +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](https://github.com/fmartingr/butterrobot) 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. + +![Butterrobot Logo](butterrobot.png?width=320#center) + + + +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](https://git.nakama.town/fmartingr/butterrobot) 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. + +![Plugin list in the web interface](plugins.png?width=640#center) + +[Go get it!](https://git.nakama.town/fmartingr/butterrobot) diff --git a/content/blog/2025/04/22/revisiting-butterrobot/plugins.png b/content/blog/2025/04/22/revisiting-butterrobot/plugins.png new file mode 100644 index 0000000..b6c4921 Binary files /dev/null and b/content/blog/2025/04/22/revisiting-butterrobot/plugins.png differ diff --git a/content/projects/butterrobot.md b/content/projects/butterrobot.md new file mode 100644 index 0000000..3ee48c2 --- /dev/null +++ b/content/projects/butterrobot.md @@ -0,0 +1,8 @@ ++++ +title = "Butterrobot" +description = "A chatbot helper for my Telegram groups" +layout = "projects" +repository = "https://git.nakama.town/fmartingr/butterrobot" ++++ + +A chatbot I had [written in python](https://github.com/fmartingr/butterrobot) back in my Python days the moment I started learning Golang. I used it to help me manage some Slack/Telegram groups and I abandoned it the moment I had to make it to production with Python. I rewritted it in Golang so I can add some quality of life features to some Telegram groups I manage, and I probably expand it to Mattermost in the future as well.