If we are gonna have different interfaces to control Sonica, and many different loops listening for input, i think we should do an architecture overhaul.
I've been looking at gRPC and it seems perfect for this usecase, not only will each part of Sonica be a seperate process that can be restarted as necessary, it can also handle implementations in multiple languages, so the webserver could be crystal, while the discord and core is kept python, etc.
If we are gonna have different interfaces to control Sonica, and many different loops listening for input, i think we should do an architecture overhaul. I've been looking at gRPC and it seems perfect for this usecase, not only will each part of Sonica be a seperate process that can be restarted as necessary, it can also handle implementations in multiple languages, so the webserver could be crystal, while the discord and core is kept python, etc.