Register
Submit a solution
The challenge is finished.

Challenge Overview

Our client is a company that uses Slack teams a lot and they want us to build several Slack bots that will automate their workflows.
In this challenge we will build and document a framework, and helper project template for developing Slash commands in Slack. The framework is meant to abstract away low level Slack API operations (sending messages, attachments, help, etc) and provide utility methods for often used operations (user identity, profile, roles, etc). Both should be developed using latest NodeJs.
The mini framework should support these features for slash commands:

  • setting a custom handler (function) for the command

  • automatic handling of "help" action

  • sending a response (delayed or immediate - the framework should transparently handle which one to use - if the response is sent before timeout limit, then send the immediate response, otherwise send delayed response; make sure to cover error handling in case immediate response isn't sent successfully due to timeout, network error, etc)

  • adding raw message to response

  • adding attachment to response (image,document,etc)

  • adding message buttons/menus to the response

  • handling message button actions

  • resolving user roles (admin/owner/etc)


Usage for these features should be included in the code docs

The template project should be a starter project that uses the framework above with just a "hello world" functionality and placeholder comments that explain how to extend it further. It should be easy to deploy to Heroku out of the box. The framework and the template project will be used to create a lot of Slack apps and the goal is to have all those apps as unified as possible, so documentation is a major feature in this challenge.



Final Submission Guidelines

Submit the full code for the framework
Submit the template project
Submit a sample project developed using template project
Submit deployment/verification guide and a short demo video (unlisted Youtube link)

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30061881