Challenge Overview
Challenge Objectives
-
Build a Slack bot using botkit.ai
Technology Stack
-
NodeJS
-
BotKit
Code access
Existing bot code is attached in the forums.
Individual requirements
The Slack bot that we’re building in this challenge will be used by many Slack teams (different organizations) to send a small project description message (using a “/topbot request “command, ex “/topbot request I need to build an email reminder service”). This would send the message to the preconfigured slack channel (in the Topcoder team) where the message would be shown along with a button “Post a response". Clicking that button will open a dialog with a textarea for the user to post a response (ex “Sure, let me add you to our Slack channel to discuss the project further”). Submitting the response will send the response to the originating channel as a regular Slack message (both request and response should be visible in the originating channel). This is where the interaction ends.
The bot has to track which request came from which slack team / channel and post the response only to that channel. It is assumed the bot would be installed in many client Slack teams and in Topcoder team.
You can create three teams for testing - one should act as the “Topcoder” team and the other two would be “client” teams.
General requirements
-
Unit tests are out of scope.
-
All configuration parameters should be extracted to a common settings module. Sensitive configuration parameters should be set from environment variables (slack credentials, etc).
What To Submit
-
All source code
-
Deployment guide
-
Verification guide - how to set up the environment, install the bots, verify the features
-
Short demo video - only the user interaction flow, no need to record build/setup steps