去年の Slack の blog にこんなエントリがありました。
この新 API の導入により、やっとオリジナルの bot が作れるようになりました。でも、既に hubot を使っていた人はめんどくさいはず。
そんな人のために、Hubot Integration がアップデートされ、hubot-slack もメジャーバージョンアップして、簡単に bot として認識されるようになりました。
やりかたはとても簡単で、hubot-slack の README に書いてあるとおりです。
簡単にまとめておきます。
手順
- hubot-slack のバージョンを 3.0.0 以上にアップデートする
- 新しく Hubot Integration を作成する(設定画面が新しくなっている) -> https://my.slack.com/services/new/hubot
- 新しい Hubot Integration では、必要な環境変数が HUBOT_SLACK_TOKEN のみになるので、これを設定しておく
- ローカルで動かしてみる: HUBOT_SLACK_TOKEN=xoxb-1234-5678-91011-00e4dd ./bin/hubot --adapter slack
- 動いたらデプロイする。Heroku だったら HUBOT_SLACK_TOKEN を heroku config:set で更新してから git push する。
- 動作確認できたら、HUBOT_SLACK_TOKEN 以外の環境変数は不要になるので消す。また、古い Integration も消す。
注意点
まだ、バグがあります。
自作 bot スクリプトで、Robot#messageRoom() を使っている場合、room にチャンネルのプレフィックスである #
を付けているとこけます。
以下の node-slack-client の PR が取り込まれたバージョンがリリースされれば解消するっぽいです。
それまでは、#
なしにする必要があります。