LoginSignup
7
6

More than 5 years have passed since last update.

Back channelingとHubotを連携する

Last updated at Posted at 2015-09-30

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 にアクセスすると、こんな感じでログイン画面が表示される。

Back_Channeling.png

サインアップしてログインすると、以下の画面が表示される。

Back_Channeling 2.png

スレッドを作るとこんな感じ。
赤い枠がスレッドのID。あとでHubotとの連携の際に利用する。
THREAD_ID.png

ついでにBot用アカウントを作成しておく。
赤い枠が認証用のコード。これもあとでHubotとの連携の際に利用する。
TOKEN.png

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に登録すれば、ちゃんと画像が表示されると思う。

join_hubot.png

対象のスレッドに遷移して、Hubotのコマンドを実行してみると反応がちゃんと返ってきた。
画像のURLは画像として表示されない模様。

hubot_respond.png

業務での利用を検討しているので、うまい使い方を考えていきたい。

参考

Clojure - BackChannelingによるお手軽お仕事用チャット - Qiita

7
6
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
7
6