Please read this gist by DasWolke it goes into a much better explanation of why you should use microservice Discord bots.
This is about my experience in making a microservice discord bot.
To start let's look at the core design I was looking for in creating my bot
(https://i.imgur.com/bWxXyc3.png)
I was looking to have multiple gateways that serve different shards groups this design could allow for a beta or premium version of the bot to be hosted on the same service more easily. I also wanted plug and play workers that don't store any information and could be restarted or crash without having any downtime and be scaled just by changing the replica value in docker swarm.