BackChanneling 0.2.0-beta1リリースしました。 https://t.co/8rX8AaBWA2 チャット、無料です。 Hubotが使えるようにしたのが主な対応です。 https://t.co/dn8iMdEXin
— kawasima (@kawasima) September 30, 2015
0.2.0-beta1でHubot対応が入ったようなので試してみる。
Back channelingを動かす
記事の作成時点での最新のback-channeling-0.2.0-beta1-dist.zipをダウンロードし、解凍。
$ wget https://github.com/kawasima/back-channeling/releases/download/v0.2.0-beta1/back-channeling-0.2.0-beta1-dist.zip
$ unzip back-channeling-0.2.0-beta1-dist.zip
$ cd back-channeling-0.2.0-beta1
以下のコマンドでDatomicをダウンロードして起動するので、それなりに時間がかかる。
$ bin/transactor
DatomicのURLを指定してBack Channelingを起動。
$ DATOMIC_URL=datomic:free://localhost:4334/bc bin/back_channeling
http://localhost:3009 にアクセスすると、こんな感じでログイン画面が表示される。
サインアップしてログインすると、以下の画面が表示される。
スレッドを作るとこんな感じ。
赤い枠がスレッドのID。あとでHubotとの連携の際に利用する。
ついでにBot用アカウントを作成しておく。
赤い枠が認証用のコード。これもあとでHubotとの連携の際に利用する。
Hubotと連携する
Hubotのインストールはココらへん見て適当に。
作成したhubotのディレクトリに移動し、Back channeling用のアダプターをインストールする。
$ cd myhubot
$ npm install hubot-back-channeling --save
さっき確認した認証用のコードとスレッドIDを環境変数に設定し、アダプターを指定して起動する。
起動ログにHeroku関連のエラーが出てるけど、Heroku用の設定なんてしてないので無視。
BackChannelingに接続できたことと、スレッドの監視をしている旨がメッセージに出ているのが確認できる。
$ export HUBOT_BACK_CHANNELING_CODE=xdfcy8jjdoo7h10v
$ export HUBOT_BACK_CHANNELING_THREAD_ID=17592186045430
$ bin/hubot -a back-channeling
[Wed Sep 30 2015 23:54:27 GMT+0900 (JST)] ERROR hubot-heroku-alive included, but missing HUBOT_HEROKU_KEEPALIVE_URL. `heroku config:set HUBOT_HEROKU_KEEPALIVE_URL=$(heroku apps:info -s | grep web_url | cut -d= -f2)`
[Wed Sep 30 2015 23:54:27 GMT+0900 (JST)] INFO hubot-redis-brain: Using default redis on localhost:6379
[Wed Sep 30 2015 23:54:27 GMT+0900 (JST)] INFO BackChanneling connect... ws://localhost:3009/ws/?token=b4304de4-45a0-489b-bc03-ad299a586336
[Wed Sep 30 2015 23:54:27 GMT+0900 (JST)] INFO BackChanneling connected.
[Wed Sep 30 2015 23:54:27 GMT+0900 (JST)] INFO Watched the 17592186045430 thread.
画面を確認してみると、Botらしきアカウントが増えている。
Gravatarでアカウント画像を出しているようなので、Bot用のメールアドレスをGravatarに登録すれば、ちゃんと画像が表示されると思う。
対象のスレッドに遷移して、Hubotのコマンドを実行してみると反応がちゃんと返ってきた。
画像のURLは画像として表示されない模様。
業務での利用を検討しているので、うまい使い方を考えていきたい。