Japella's architecture splits out the connections to different protocols (eg Telegram, Discord) into "adaptor" services, and all bot functionality is implemented in a separate service, meaning that the chatbot functionality can easily work with new protocols, by just creating a new adaptor, or, can relay chat messages across protocols, for example.
Japella is only distributed as a x86_64 Linux container, and requires a RabbitMQ server as the message queue.
There is ready-to-go docker-compose.yml file here: https://jamesread.github.io/Japella/installation/docker-compose/