-
Notifications
You must be signed in to change notification settings - Fork 0
Aaron's Proposed Bot
Here is my proposal for what the slack bot would look like.
Slack Bots are created in the slack workspace console. They are backed by a simple REST backend. These backends have the following endpoints:
-
/commands- used for slash commands -
/interactions- used to handle the results of forms and shortcuts -
/data-sources- used to populate custom data for fields in forms
If we want to use shortcuts instead of commands (like the existing HackerRank app), we actually don't need to worry about the /comnmands endpoint at all!
- Teammate opts into the queue using the "Join HackerRank Queue (
join-queue)" shortcut- Shows the user a form to input their languages
- When a HackerRank is requested to be reviewed using the "HackerRank Review (
request-review)" shortcut we- Prompt for the languages and due date like before
- When submitted, notify the people at the top of the queue and start their timeouts
- To opt-out of the queue, teammates use the "Leave HackerRank Queue (
leave-queue)" shortcut
This opens a form similar to the existing form, letting the requestor enter the languages used and the due date. When the form is submitted, it triggers the submit-request-review interaction
This opens a dialog prompting a teammate for the languages they would like to review. When submitted, it triggers the submit-join-queue interaction.
Unlike the other shortcuts, this doesn't open a form, since there is nothing to prompt the user instead, it updates the queue directly
This is where the queue logic and teammate notifications will be initiated.
The user that submitted the form will be added to the database