• Stars
    star
    176
  • Rank 216,987 (Top 5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A customizable starting point for building multi-team Slack bots that use the latest APIs

This repo is deprecated!

To get a fresh Botkit starter kit, use the Yeoman generator or remix a starter kit on Glitch

npm install -g yo generator-botkit
yo botkit

Botkit Starter Kit for Slack Bots

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

Botkit is designed to ease the process of designing and running useful, creative bots that live inside messaging platforms. Bots are applications that can send and receive messages, and in many cases, appear alongside their human counterparts as users.

Some bots talk like people, others silently work in the background, while others present interfaces much like modern mobile applications. Botkit gives developers the necessary tools for building bots of any kind! It provides an easy-to-understand interface for sending and receiving messages so that developers can focus on creating novel applications and experiences instead of dealing with API endpoints.

Our goal with Botkit is to make bot building easy, fun, and accessible to anyone with the desire to create a future filled with talking machines!

If you are looking to create a bot on other platforms using Glitch, check out the Botkit project page.

What's Included

  • Botkit core - a complete programming system for building conversational software
  • Pre-configured Express.js webserver including:
    • A customizable "Install my Bot" homepage
    • Login and oauth endpoints that allow teams to install your bot
    • Webhook endpoints for communicating with platforms
  • Sample skill modules that demonstrate various features of Botkit

Getting Started

There are a myriad of methods you can use to set up an application on Slack, here are some of your options:

Install Botkit

Remix this project on Glitch

Deploy to Heroku

Clone this repository using Git:

git clone https://github.com/howdyai/botkit-starter-slack.git

Install dependencies, including Botkit:

cd botkit-starter-slack
npm install

Set up your Slack Application

Once you have setup your Botkit development enviroment, the next thing you will want to do is set up a new Slack application via the Slack developer portal. This is a multi-step process, but only takes a few minutes.

Update the .env file with your newly acquired tokens.

Launch your bot application by typing:

node .

Now, visit your new bot's login page: http://localhost:3000/login

Now comes the fun part of making your bot!

Extend This Starter kit

This starter kit is designed to provide developers a robust starting point for building a custom bot. Included in the code are a set of sample bot "skills" that illustrate various aspects of the Botkit SDK features. Once you are familiar with how Botkit works, you may safely delete all of the files in the skills/ subfolder.

Developers will build custom features as modules that live in the skills/ folder. The main bot application will automatically include any files placed there.

A skill module should be in the format:

module.exports = function(controller) {

    // add event handlers to controller
    // such as hears handlers that match triggers defined in code
    // or controller.studio.before, validate, and after which tie into triggers
    // defined in the Botkit CMS UI.

}

Customize Storage

By default, the starter kit uses a simple file-system based storage mechanism to record information about the teams and users that interact with the bot. While this is fine for development, or use by a single team, most developers will want to customize the code to use a real database system.

There are Botkit plugins for all the major database systems which can be enabled with just a few lines of code.

We have enabled our Mongo middleware for starters in this project. To use your own Mongo database, just fill out MONGO_URI in your .env file with the appropriate information. For tips on reading and writing to storage, check out these medium posts

Developer & Support Community

You can find full documentation for Botkit on our website.

Need more help?

  • Glitch allows users to ask the community for help directly from the editor! For more information on raising your hand, read this blog post.

  • Join our thriving community of Botkit developers and bot enthusiasts at large. Over 4500 members strong, our open Slack group is the place for people interested in the art and science of making bots.

Come to ask questions, share your progress, and commune with your peers!

Full video of our 2016 event is available on Youtube.

About Botkit

Botkit is a product of Howdy and made in Austin, TX with the help of a worldwide community of botheads.

More Repositories

1

botkit

Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.
TypeScript
11,432
star
2

botmetrics

Analytics and Engagement for Makers and Marketers of Chat and Voice bots
Ruby
236
star
3

botkit-cms

An open tool for designing, building and managing interactive dialog systems
JavaScript
234
star
4

botkit-starter-web

Botkit Anywhere - a starter kit for building a bot that lives in your website or app
JavaScript
111
star
5

botkit-middleware-witai

Middleware for using Wit.ai with Botkit-powered bots
JavaScript
87
star
6

botkit-storage-mongo

A MongoDB storage driver for Botkit
JavaScript
54
star
7

botkit-starter-facebook

A customizable starting point for building Facebook bots
JavaScript
53
star
8

botkit-rasa

a plugin to connect Botkit to the rasa NLU api
JavaScript
40
star
9

botkit-storage-firebase

Firebase storage module for Botkit
JavaScript
34
star
10

botkit-starter-ciscospark

A customizable starting point for building Cisco Spark bots
JavaScript
28
star
11

botkit-storage-redis

Redis storage module for Botkit
JavaScript
27
star
12

botkit-starter-slackrtm

A starter kit for building bots with Botkit and the Slack RTM api
JavaScript
26
star
13

botkit-studio-sdk

Direct access to the Botkit CMS APIs
JavaScript
23
star
14

botkit-docs

Documentation for #botkit
18
star
15

botkit-starter-teams

Starting point for building a bot for Microsoft Teams
JavaScript
13
star
16

studio-examples

sample skills and scripts for use with Botkit Studio
JavaScript
7
star
17

botkit-storage-base

A sample repo for use in creating new storage modules for Botkit
7
star
18

botkit-starter-googlehangouts

A customizable starting point for building Google Hangouts Chat Bots
JavaScript
5
star
19

botkit-studio-metrics

DEPRECATED
JavaScript
2
star
20

.github

howdyai GitHub org configuration
1
star
21

trello-ciscospark

A reference design for a Cisco Spark bot that works with Trello
JavaScript
1
star