LoginSignup
17
16

More than 5 years have passed since last update.

idobata 経由で Hubot と会話をしよう

Posted at

目的

  • idobata 経由で Hubot と会話すること

Hubot

  • GitHub が開発しているチャット用の bot フレームワーク
  • 幅広いチャットサービスの bot として導入することができる
  • 公式ベージ
  • ソースコード

idobata

スクリーンショット 0026-10-12 20.50.43.png

  • 今回はこの 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 との連携

$ npm install hubot-idobata --save

idobata の環境構築

  • アカウント取得
  • 好きな名前で Organization の作成
  • 作成した Organization に Room を作成
  • 作成した Room に bot を追加する
    • 今回は idobot の名前で追加

スクリーンショット 0026-10-12 21.59.26.png

  • 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 に話しかける

スクリーンショット 0026-10-12 22.36.37.png

  • すぐに返事してくれれば OK
17
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
16