I use Telegram a lot, but Matrix is even more friendly to scripting. If you're just using the bots for yourself, you can setup a non-federated Dendrite instance and just write bots for it.
I like how flexible matrix bots are but there are some problems that I'm not able to easily solve, like finding out when a new person joins a matrix room because the m.join event is used for user info changes as well as joins.
Edit: I found this [1] table that hopefully simplifies things, I'll see if that works out.
Edit: I found this [1] table that hopefully simplifies things, I'll see if that works out.
[1]: https://spec.matrix.org/v1.8/client-server-api/#mroommember