Skip to content

A Hubot instance that's here to protect you.

Notifications You must be signed in to change notification settings

kyrabusser/pushbot

 
 

Repository files navigation

PushBot

Greenkeeper badge

Build Status | Docker Repository on Quay.io

This is a version of GitHub's chat bot, Hubot. 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. Make sure that you also have docker-compose; 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:

# One-time setup
docker-compose build
docker-compose pull
touch .hubot_history
chmod 666 .hubot_history

Then, to run pushbot with a shell adapter in the current terminal window:

docker-compose run --service-ports pushbot

If you need to test admin-only functionality, set the environment variable HUBOT_AUTH_ADMIN to "1". The --service-ports argument is only strictly necessary if you wish to exercise the web API.

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.
  • The core node.js API is documented at the official node website. 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 to see what JavaScript features are available natively.
  • Non-core packages, like request, can be found on npm.
  • Some older scripts are written in a language called CoffeeScript, a JavaScript transpiler.
  • Hubot's scripting API is documented in the hubot repo. 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 if you'd like to see an example. 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!

About

A Hubot instance that's here to protect you.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 77.1%
  • CoffeeScript 22.0%
  • Other 0.9%