hubot-slack v4でチャンネルIDからチャンネル名を拾ってくる方法

hubot-slack v3までは msg.envelope.room にはRoomの名前が入っていたのが、hubot-slack v4からはRoom IDに変わったらしい。

ここの記事を見ると簡単に変換できるように見えたのだが、SlackDataStoreがdeprecatedらしくWarnが出てMigrationガイドを案内された。

Migrationガイドとソースコードを読んだ感じから次のようにすればSlackDataStoreを使わずにRoomの名前が取れることがわかった。

robot.hear /.*/i, (res) ->
  robot.adapter.client.web.conversations.info(res.message.room)
    .then((response) ->
      roomName = response.channel.name

そんなわけでRoomの名前が必要な場合は上のような感じで拾ってきましょう。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.