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).
Starting this project is really easy:
- Fork this project (top right corner)
- Clone your forked project to your pc.
- Goto http://slackapi.github.io/hubot-slack/#getting-a-slack-token to read up on how to get a Slack token for your bot.
- Copy .env.example to .env and add the Slack token to this file.
- Open a terminal and navigate to your bot directory.
npm installto install the NodeJs packages.
- Start the bot using
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.
- Create a new repo under wehkamp.
- Clone bot-zero.
git clone email@example.com:wehkamp/bot-zero.git bot-zero-fork
- Cd into fork
- Setup remotes.
git remote remove origin
git remote add upstream firstname.lastname@example.org:wehkamp/bot-zero.git
git remote add origin email@example.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.
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.
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
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.
Use NPM to interact with the bot:
npm startwill start the bot.
npm testwill kick of the tests of the bot. They are located in the
testsdirectory. Testing is done using Hubot Pretend.
We're using the following stack: