https://github.com/smashwilson/pushbot
A Hubot instance that's here to protect you.
https://github.com/smashwilson/pushbot
coffeescript hubot javascript
Last synced: 9 months ago
JSON representation
A Hubot instance that's here to protect you.
- Host: GitHub
- URL: https://github.com/smashwilson/pushbot
- Owner: smashwilson
- Created: 2014-01-16T21:02:53.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2025-06-20T16:36:53.000Z (about 1 year ago)
- Last Synced: 2025-06-20T17:22:39.645Z (about 1 year ago)
- Topics: coffeescript, hubot, javascript
- Language: JavaScript
- Size: 2.81 MB
- Stars: 11
- Watchers: 3
- Forks: 15
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PushBot
 | [](https://quay.io/repository/smashwilson/pushbot) | [](https://dependabot.com)
This is a version of GitHub's chat bot, [Hubot](https://hubot.github.com/). We use it to do silly things in our Slack chat.
### Getting started
The easiest way to run pushbot locally is to use Docker. Install [the Docker distribution for your platform of choice](https://docs.docker.com/#run-docker-anywhere). Make sure that you also have [docker-compose](https://docs.docker.com/compose/overview/); it's included in the Mac and Windows bundles, but on Linux you may need to install it separately.
Once Docker is installed and running, build and pull containers with:
```bash
# One-time setup
bin/bootstrap
```
Then, to run pushbot with a shell adapter in the current terminal window:
```bash
bin/bot
```
### References
Want to contribute scripts? Here are a few references that might be handy.
- If you need a reference for JavaScript itself, I recommend the [Mozilla developer network](https://developer.mozilla.org/en-US/docs/Web/JavaScript).
- The core node.js API is documented at [the official node website](https://nodejs.org/dist/latest-v7.x/docs/api/). Pushbot is currently running on node 7.9.
- You can use modern JavaScript here, including class expressions, let and const, and async/await. I like to use [node.green](http://node.green/) to see what JavaScript features are available natively.
- Non-core packages, like `request`, can be found on [npm](https://www.npmjs.com/).
- Hubot's scripting API is documented [in the hubot repo](https://github.com/github/hubot/blob/master/docs/scripting.md). You can also use the other scripts in `scripts/` for reference, of course.
If your script starts to become big and complicated, you should consider extracting it to its own npm package. I did this for [hubot-markov](https://github.com/smashwilson/hubot-markov) if you'd like to see an example. [hubot-example](https://github.com/hubot-scripts/hubot-example) is a template library that you can clone as a starting point: make sure you edit the `package.json` info before you publish!