I'm new to Golang and writing a chat bot as an exercise.
Basically I'm using net/http and gorilla/mux to handle requests.
For now it can only talk to one specific chat platform (I call it an adapter) and has only one plugin (find a picture on google).
How can I make both adapters and plugins be dynamic - so other developers can write their own stuff and just use my bot as a base platform? Are there any good examples?
Also should I have all the plugins and adapters in one repo/static binary or should they be separate? I know I can do both ways but what would you recommend as a better way to have easier collaboration and extensibility?