目的
- idobata 経由で Hubot と会話すること
Hubot
idobata
- 日本製のチャットサービス
- 公式ベージ
- 今回はこの idobata 経由で Hubot と会話をする
Hubot の導入
- 注 : Ubuntu 14.04 上で作業をしています
Node.js のインストール
- hubot のインストールに npm を使うため、 node.js をインストールする
$ wget git.io/nodebrew
$ perl nodebrew setup
$ export PATH=$HOME/.nodebrew/current/bin:$PATH
$ nodebrew ls-remote
$ nodebrew install-binary v0.11.14
$ nodebrew use v0.11.14
hubot のインストール
$ npm install -g hubot coffee-script
# Hubot ひな形作成、起動
$ hubot --create mybot
$ cd mybot
$ ./bin/hubot
- Redis を入れていないと下記のエラーが出る
Hubot> [Mon Oct 06 2014 01:03:49 GMT+0000 (UTC)] ERROR [Error: Redis connection to localhost:6379 failed - connect ECONNREFUSED]
[Mon Oct 06 2014 01:03:49 GMT+0000 (UTC)] ERROR [Error: Redis connection to localhost:6379 failed - connect ECONNREFUSED]
[Mon Oct 06 2014 01:03:50 GMT+0000 (UTC)] ERROR [Error: Redis connection to localhost:6379 failed - connect ECONNREFUSED]
- エラー解消のため Redis をインストール
$ sudo apt-get update
$ sudo apt-get -yV upgrade
$ sudo apt-get install redis-server
- Hubot 起動から終了
$ ls
bin external-scripts.json hubot-scripts.json node_modules package.json Procfile README.md scripts
$ ./bin/hubot
Hubot> [Mon Oct 06 2014 01:15:37 GMT+0000 (UTC)] INFO Data for hubot brain retrieved from Redis
Hubot> hubot ping
# Hubot からの応答
Hubot> PONG
# exit で終了
Hubot> exit
idobata との連携
- idobata と連携できるように adapter を導入しておく
- adapter インストールコマンド
$ npm install hubot-idobata --save
idobata の環境構築
- アカウント取得
- 好きな名前で Organization の作成
- 作成した Organization に Room を作成
- 作成した Room に bot を追加する
- 今回は idobot の名前で追加
- API Token を確認しておく
hubot を Heroku で動かす
- Hubot を常時動かすために適当な PaaS 上にデプロイする
- 今回は、 Heroku 上で動かすことにする
- Procfile を編集
- Procfile : Heroku 上で Dynos が実行するコマンド
- Hubot を起動するようにする
Procfile
web: bin/hubot --adapter idobata --name idobot
- heroku へのデプロイ
$ heroku create
Creating afternoon-taiga-4406... done, stack is cedar
http://afternoon-hoge-4406.herokuapp.com/ | git@heroku.com:afternoon-hoge-4406.git
# appname は create コマンドで表示されたものを使用する
$ heroku config:set HEROKU_URL=http://<appname>.herokuapp.com
# idobata に bot 追加時に確認した API Token を入力する
$ heroku config:set HUBOT_IDOBATA_API_TOKEN=hogehogehoge
# idobata に登録した bot の名前を入力する
$ heroku config:set HUBOT_NAME=idobot
# データ永続化のために Redis の addon を導入
# 事前に Heroku 上の設定でクレジットカードの登録を済ませておく必要がある
$ heroku addons:add redistogo:nano
# Heroku へデプロイする
$ git push heroku origin
Hubot に話しかける
- idobata の Room を開き、 作成した idobot に話しかける
- すぐに返事してくれれば OK