何か知らない間にHubot Integrationの設定が変わっていました。せっかくSlack Advent Calendar書いたのに修正しないといけない...
Slack側の設定
いつもどおり[Add a Service Integration]からHubotを選択、新しいIntegrationを作成すると...
Usernameの入力を求められた。コレって前からあったっけ...?(ここは記憶があやふや)
そしてここからがまるっと変わってる。(1)のAPI Tokenはいいとして、(2)のCustomize Name(ボット名)をSlack Integration側で設定するようになってる。(3)のアイコンはまあ昔からあった。
そして設定はまだまだ続く。(4)と(5)は無視でいい。botを仮想ユーザとして扱う(?)ような感じになったので名前を付けるのだろう。たぶん。
重要なのは(6)で、今までチャネルの設定はhubot側で行っていたのが、Slack Integration側で設定するようになった。しかもデフォルトではgeneralにしか反応してくれなくなった。
じゃあ特定のチャネルに反応するようにするにはどうしたらいいかというと、普通にチャネルにInviteするらしい。
# botを登録したいチャネル上で以下をポスト
/invite test-bot
こんな感じでInviteされる
hubot側の設定
設定がSlack Integration側に移ったことでhubot-slackのために今まで色々設定してた環境変数が不要になった。必要なのはTokenのみ
# 環境変数の設定 to heroku
# これだけでOK
$ heroku config:set HUBOT_SLACK_TOKEN=xxxxxxxxxxx
# 不要になったものたち
$ heroku config:set HUBOT_SLACK_TEAM=xxxxxx
$ heroku config:set HUBOT_SLACK_BOTNAME=xxxxxx
$ heroku config:set HUBOT_SLACK_CHANNELMODE=xxxxxxxx
$ heroku config:set HUBOT_SLACK_CHANNELS=xxxxxx
最後に
今から新しく作成するIntegrationについては上の設定が必須ですが、今まで作った設定は今まで通り使えるようです。