Designing an Elixir-based Chat Bot
Details
When learning a new language, we often focus on the building blocks. How do I write a conditional? What are the built-in types? What's the community of third-party packages like? These are all important, but at some point, you need to build something to actually understand how all those pieces fit together. In this Meetup, let's design a Chat bot for Slack.
Slack's Real-Time Messaging (RTM) API streams events to clients. These events range from new messages to when a new team member joins. Let's design a chat bot to handle the following (rudimentary) requirements.
• Create a command to run a shell script. Standard out and standard error are streamed back to Slack.
• Distributed execution and node roles. For example, one node connects to Slack; one node can run "ls"; a third node can run a Docker container.
• Web API. Sometimes you just need to run a command from CI.
• Users & roles.
