BotManD bots are simple standalone executables which read input on stdin and respond on stdout. BotManD starts up your bot based on configured triggers (a separate instance is launched for each new conversation), and then gets out of you bot's way.
For people who still remember inetd, think of this as inetd for bots. (Would, in fact, have named it botnetd but for some unfortunate associations the word evokes.)
I wrote BotManD because I often need a simple way to run pre-determined commands on remote machines. I initially used small special-purpose scripts for these developed using one of the many Slack bot libraries, but each time I needed to add support something resembling a simple conversation, I ended up having to write code to manage state and keep track of conversations happening in multiple threads... a lot of plumbing work not related at all to the task I was trying to finish. This frustration led to the development of the initial prototype of BotManD, which I quickly found useful enough to justify reimplementing with a few more bells and whistles to support different types of bot interactions.
The thing that sets BotManD apart from other bot toolkits is that it is designed from the ground up to handle conversations. There are, of course, other bot development tools which support conversations, like Botkit, but they all seem to need tool-specific conventions to implement complex logic involving conditionals or loops. BotManD bots, on the other hand, are simple executables written in the language of your choice. Assuming your language of choice is turing-complete, so is your bot. :)
Of course, tools like Botkit do a lot of other things, not least of them being the ability to talk to a bunch of different messaging platforms. BotManD only supports Slack right now, though there are plans to support Teams and Discord some time soon.
Check the GitHub repo for instructions on getting started with BotManD, as well as a bunch of examples, including a few real-world ones which do some interesting things using ChatGTP and OpenAI's API.