おすすめのVRヘッドセット

【ChatWork】ChatWorkのメッセージをSlackへ転送する方法

chatwork-to-slack

すいみん
こちらのCGメソッドの記事ではChatWorkのメッセージをSlackへ転送する方法を紹介します!これでSlack(スラック)だけ開けば良いので効率化できます

ChatWorkのメッセージをSlackへ転送する条件

ChatWorkのメッセージをSlackへ転送する条件は下記の4点になります。

①通知だけでなく、メッセージの内容も転送する
②自分宛ての通知のみ転送
③すべてのルームの自分宛ての通知を転送したい
④他のサービス(zapierとかAWS Lambdaとか)はできれば使わず、Google Apps Scriptだけでなんとかしたい

ネットで公開されているものをいくつか試したのですが、理想のものは見つかりませんでした。

  • Toが既読されるまで、メッセージが投稿され続けたり
  • すべてのメッセージがGmailに大量に転送されたり(かつ同じメッセージを取得し続けたり)
  • 通知がありましたのみ表示されたり

納得いかなかったので、一番理想に近かったこちらのコードを参考に特定のルームに自分宛ての通知のみ、メッセージ内容も込みで転送させてみました。
参考 ChatWorkのメッセージをSlackに通知するBotを作ってみたAdwaysEngineersBlog


ChatWorkのメッセージをSlackへ転送する方法

  1. チャットワークAPIの取得します(あとは自分のIDと取得したいルームIDも調べておきましょう)

  2. Slack APIのトークンを下記のURLから取得します。
    参考 Legacy tokensapi.slack.com

  3. Google Apps Scriptに下記のコードをコピペします
    xxxxx部分は手入力します

  4. 実行(chatworkToSlack)しましょう。
    通知を何分間隔でスクリプトを実行するかの設定は、下記の記事を参照してください
    【ChatWork】繰り返し使える!予約投稿する方法 [Google Apps Script]


ChatWorkのメッセージをSlackへ転送した結果

f:id:min0124:20170304143648p:plain

①②④の条件を満たして、うまくいきました。
③に関しては、取得したいルームIDを配列へ入れてやります。

テストするときは、マイチャットで自分のIDを入れると、自分に対してTOで通知できて便利です!



以上、すいみん(@cg_method)でした!