hubot-slack v4 (というかSlack SDK RTMClinet)の channel 指定方法が変わっててハマった件

まあ、ほぼほぼT/Oですけど。お急ぎの方のために結論だけ先に書きます。
short answer:
いままでの"#general"の代わりにhttps://api.slack.com/methods/channels.list/testで取得できるjsonのCで始まるidを指定する


最近、メール監視で取りこぼしがあって「メールなんてみないでござる。Slackがいいでござる。」と進言したところ提案が通ったのでhubotなどでその恩恵を拡大しようと思い、アピールのためゲリラ豪雨対策として下記のhubotを入れようと試みたのが2日前なのです。
qiita.com
hubot自体はどこにいれようかなーと迷ったのですが、開発用のAWSよりherokuにしようということでherokuに新しいアプリを作りデプロイしました。
qiita.com

HUBOT_RAINFALL_ALERT_CHANNELにはありがちな"general"とかのディスプレイネームを指定してました(フラグ)。
rainfallコマンドは通ったのですが、rainfallcheckコマンドがheroku logs -t(プロジェクトディレクトリで)を監視すると下記のエラーにより止まってしまいました。

Unhandled rejection SlackRTMError: invalid channel id

これについて自分で他のサンプルをつくるなど1.5日程度悩んだ結果、Slack SDK RTMClientのドキュメントから
Real Time Messaging API | Slack

You can send a message to a private group or direct message channel in the same way, but using a Group ID (C024BE91L) or DM channel ID (D024BE91L).

package.json:
( ^ω^) ⊃"hubot-slack": "^4.0.2",
⊂( ^ω^) ≡⊃⊂≡ ( ^ω^) ⊃
( ^ω^) ⊃"hubot-slack": "^3.4.2",

これでも動くけど!大人になって。
qiita.com
あとはshort answerをごらんください。

さて、herokuでnode cronが動かないんですけど…

広告を非表示にする