chatbot-in-20-mins icon indicating copy to clipboard operation
chatbot-in-20-mins copied to clipboard

This repo contains everything you need to get started building a Slack bot with Botkit

Materials for "Chatbot in 20 minutes" presentation

This repo contains everything you need to get started building a Slack bot with Botkit. The repo is a modified version of Botkit Starter Slack project.

Getting Started

  1. Remix a project on Glitch

Remix on Glitch

  1. Change auto-generated project name to one that makes more sense

Configure Slack

  1. Create new Slack application here
  2. Set client id and client secret values in .env file
  3. Set a nice bot icon
  4. Open <OAuth & Permissions> and set redirect url to <botUrl>/oauth
  5. Open <Interactive Components> and set request url to <botUrl>/slack/receive
  6. Open <Event subscriptions> and set request url to <botUrl>/slack/receive
  7. Open and enable <Bot User Events>. Enable events, set request url to <botUrl>/slack/receive and include all /message.*/ workspace events
  8. Open <Bot Users>, check <Always Show My Bot as Online> and add the bot user
  9. Visit the <botUrl> and press <Add to Slack>

Let's code!

  1. Invite bot to a channel
  2. Implement skills/welcome_on_join.js (reinstall the bot if it doesn work)
  3. Implement skills/say_something.js
  4. Open <Slash commands> and set up /pic slash command that points to <botUrl>/slack/receive. The Slack should prompt you to reinstall the bot. Follow <reinstall> link
  5. Implement skills/pic.js
  6. Enhance skills/pic.js with recommendations
  7. Implement skills/respond_on_endorsement.js