mailをslackに流そうと思ったんだけど、考えてみたらslackにメッセージ送ったことなかったから、まずそこからやってみる。
ちなみに、ただメールをslackに転送するだけなら、slackの有料プランに登録しているなら、こんなアプリがあって、メアド設定するだけで使えます。
私は無料アカウントだから、この記事を参考に頑張る。
作業の流れ
-
slackアプリを作る
-
作ったアプリに、メッセージ送信の権限を追加
-
作ったアプリをワークスペースにインストール
-
インストールしたアプリをチャンネルに追加
-
curlでメッセージ送信テスト
作業
アプリ作成
メッセージを送信するためには、アプリを作らないといけないみたい。
ここからアプリを作る。
作ったアプリに、メッセージ送信の権限を追加
パーミッションからBot Token Scopesにchat:writeを追加する。
作ったアプリをワークスペースにインストール
追加すると、トークンが取得できます。
送信時に必要になるので控えておきます。
インストールしたアプリをチャンネルに追加
チャンネルに投稿したい場合は、チャンネルにアプリの追加が必要です。
※インストールしたアプリをチャンネルに追加しないと
$ curl -X POST -d 'token=xoxb-7739708597972009xxxx-KnoY8BkKSmcvjxFlxxxxxxxx&channel=#mail-feed&text=test' https://slack.com/api/chat.postMessage
{"ok":false,"error":"not_in_channel"}
DMはできますが、こんな感じでチャンネルには送れません。
curlでメッセージ送信テスト
インストール時に控えたトークンを使う。
curl -X POST -d 'token=トークン&channel=宛先&text=メッセージ' https://slack.com/api/chat.postMessage
DM
$ curl -X POST -d 'token=xoxb-7739708597972009xxxx-KnoY8BkKSmcvjxFlxxxxxxxx&channel=@runa&text=test' https://slack.com/api/chat.postMessage
{"ok":true,"channel":"DV6EXGxxx","ts":"1583882062.000100","message":{"bot_id":"BUTM62UBU","type":"message","text":"test","user":"UUTM62xxx","ts":"1583882062.000100","team":"TNRUJR1GB","bot_profile":{"id":"BUTM62UBU","deleted":false,"name":"mail-feed","updated":1583881176,"app_id":"AV6F1PSLV","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TNRUJR1GB"}}}
チャンネル
$ curl -X POST -d 'token=xoxb-7739708597972009xxxx-KnoY8BkKSmcvjxFlxxxxxxxx&channel=#mail-feed&text=test' https://slack.com/api/chat.postMessage
{"ok":true,"channel":"CV6FJxxxx","ts":"1583882382.000500","message":{"bot_id":"BUTM6xxxx","type":"message","text":"test","user":"UUTM6xxxx","ts":"1583882382.000500","team":"TNRUJxxxx","bot_profile":{"id":"BUTM6xxxx","deleted":false,"name":"mail-feed","updated":1583881176,"app_id":"AV6F1xxxx","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TNRUJR1G
独り言
次はこの記事を参考に、プッシュするlambdaを作ります。