pb-hubot v0.0.3
pb-hubot
This script allows you to integrate a hosted Pandorabot with Hubot, for deployment on Heroku and Slack. The script listens for all inputs directed at Hubot (via Hubot.respond()
), and forwards them to the Pandorabots API.
Prerequisites
- Heroku account
- Slack team and personal account
- AIaaS application and bot credentials
- Git
- Heroku Toolbelt
- Node.js and npm
Installation instructions
Install Yeoman globally on your machine, along with the Hubot generator for Yeoman:
$ npm install -g yo generator-hubot
Create a new directory for your Hubot, and run the generator with
yo
:$ mkdir myhubot $ cd myhubot myhubot$ yo hubot
Complete the initialization prompts. Make sure to select
slack
as your Bot adapter:? Owner: your-name <your-name@your-domain.com> ? Bot name: myhubot ? Description: A simple helpful robot for your Company ? Bot adapter: (campfire) slack ? Bot adapter: slack
Install the
pb-hubot
module to your Hubot project:myhubot$ npm install pb-hubot --save
Add
pb-hubot
toexternal-scripts.json
:[ "pb-hubot", ... ]
Note: You may add another Hubot scripts with same manner here.
Create a new git repository in your Hubot directory:
myhubot$ git init myhubot$ git add . myhubot$ git commit -m “Initial commit”
Create a new Heroku applicaiton:
myhubot$ heroku create Creating mystic-meadow-229... done, stack is cedar-XX ...
Configure the
redistogo
add-on. Hubot requires a Redis server for persistent memory. Thenano
plan is free:myhubot$ heroku addons:add redistogo:nano
Set Heroku environment variables for Pandorabots (
app_id
,user_key
,botname
):myhubot$ heroku config:set app_id=140XXXXXXXXXX myhubot$ heroku config:set user_key=e64XXXXXXXXXXXXXXXXXXXXXXXXXXX myhubot$ heroku config:set botname=mypandorabot
Set Heroku environment variable for Slack API token. To obtain this, log in to Slack, and go to the Integrations page. Here, you can add the Hubot integration, and retrieve the token:
myhubot$ heroku config:set HUBOT_SLACK_TOKEN=xoxb-1234567890-XXXXXXXXXXXXXXXXXXX
Add Heroku environment variable for Keep-Alive so as to prevent Hubot from sleeping.
myhubot$ heroku config:set HUBOT_HEROKU_KEEPALIVE_URL=https://your-heroku-app.herokuapp.com/
Note: You may add another Heroku environment variables with same manner here.
Deploy Hubot instance to Heroku App
myhubot$ git push heroku master myhubot$ heroku ps:scale web=1
Additional Instructions: For local testing
Note: You may need to do following instructions for local testing only.
Install Redis Server into local OS. Hubot requires Redis Server for its persistent memory.
(e.g. Debian based Linux) $ sudo apt-get install redis-server
Add environment variables for Pandorabots into local OS. These must be identical to Heroku environment variables.
myhubot$ export app_id=140XXXXXXXXXX myhubot$ export user_key=e64XXXXXXXXXXXXXXXXXXXXXXXXXXXXX myhubot$ export botname=mypandorabot
Test your bot. You can talk with the Hubot bot locally by using shell adapter. Push enter key to show
Hubot>
prompt, then sayhubot pb
, followed by an input your Pandorabot will provide a response to:myhubot$ bin/hubot ... Hubot> Hubot> hubot pb Hello Hubot> Hi there!