An "empty" Hubot project that can be used to build your own Slack bot.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Not needed. Aug 12, 2018
bin
scripts Upgraded command mapper. Updated scripts to the v2 format. Removed hu… Dec 8, 2018
tests
.editorconfig Initial commit. May 10, 2018
.env.example fix: renamed .env file to .env.example to prevent commiting Aug 17, 2018
.gitignore Upgraded packages Jul 21, 2018
.travis.yml
Dockerfile
LICENSE.md
README.md
external-scripts.json Added hubot help support. May 15, 2018
index.js Formatting Aug 11, 2018
package-lock.json
package.json

README.md

bot-zero

Hubot is a fantastic project that enabled us to build great bots. The bot-zero project aims to give you a cleaned up version with some examples that run on ES6 (instead of Coffee-script).

Build Status forever License: MIT

Blog: https://medium.com/wehkamp-techblog/jump-starting-slack-bot-projects-bot-zero-991b9654585e

Getting started

Starting this project is really easy:

  1. Fork this project (top right corner)
  2. Clone your forked project to your pc.
  3. Goto http://slackapi.github.io/hubot-slack/#getting-a-slack-token to read up on how to get a Slack token for your bot.
  4. Copy .env.example to .env and add the Slack token to this file.
  5. Open a terminal and navigate to your bot directory.
  6. Enter npm install to install the NodeJs packages.
  7. Start the bot using npm start.
  8. Enjoy!

How to fork this project internally in wehkamp

GitHub doesn't allow forks on the same organization which means you can't use the fork button for wehkamp use. You can easily solve this by forking this manually.

Replace bot-zero-fork with your own repo and/or use https for cloning/remotes instead of ssh.

  1. Create a new repo under wehkamp.
  2. Clone bot-zero. git clone git@github.com:wehkamp/bot-zero.git bot-zero-fork
  3. Cd into fork cd bot-zero-fork
  4. Setup remotes.
    • git remote remove origin
    • git remote add upstream git@github.com:wehkamp/bot-zero.git
    • git remote add origin git@github.com:wehkamp/bot-zero-fork.git
    • git push origin master

You can now pull/push to your forked repo and the original bot-zero repo.

Pulling/updating

If you want to pull updates from the original bot-zero repo upstream you may use the command: git pull upstream master. This will get all commits from bot-zero master in your current branch.

Pushing

You can also push to the original bot-zero project with git push upstream whateverbranch and this will push all your commits to a branch on bot-zero. Be aware though, bot-zero is public and you may leak private info.

Good to know

Packages
We've included some packages:

  • axios: a promise-based HTTP client. Makes it easier to use promises of your HTTP requests.
  • cross-env: allows you to store environment variables in the .env file in the root of the project.
  • hubot-command-mapper: allows for the mapping of commands with parameters to the Hubot without the need for regular expressions.

NPM
Use NPM to interact with the bot:

  • npm start will start the bot.
  • npm test will kick of the tests of the bot. They are located in the tests directory. Testing is done using Hubot Pretend.

Clean up
The bot was generated using the Slack Developer Kit for Hubot. It was "cleaned" using a script from Cleaning up the Default Hubot Installation.

Tech

We're using the following stack:

  • NodeJs
  • ES6
  • Hubot
  • NPM