Exprimental server to adapt/sync posts between two different services.
ServerConfigobjects are used as interfaces for communicating with the server. They expose
Postis the class that transform raw posts from server responses. This way, all posts have unified properties and add some flexibility send to any posts to different servers.
- Because Slack limits the rate of the requests, we need to patch
requestmodule to allow throttling. Though monkey-patching could be ugly and it is a bad design pattern, this is the only way I can think of. By the way, I don't know if the implementation is correct. The code is in request-throttle-patch.js.
- A hidden file
_private.jscontains some tokens, thus it is not present on GitHub. You need to configure them yourself before kicking all things off.
- Convert channel name, special commands, etc.
- Upload file from Slack post coming to LM instead of links only.
- Support more than 2 servers, allowing Slack-Slack communication. Design pub-sub patterns to achieve this.