lambdaからslackにメッセージ送信してみる

· ☕ 2

mailをslackに流そうと思ったんだけど、考えてみたらslackにメッセージ送ったことなかったから、まずそこからやってみる。

ちなみに、ただメールをslackに転送するだけなら、slackの有料プランに登録しているなら、こんなアプリがあって、メアド設定するだけで使えます。

Emailアプリ

私は無料アカウントだから、この記事を参考に頑張る。

作業の流れ

  • slackアプリを作る

  • 作ったアプリに、メッセージ送信の権限を追加

  • 作ったアプリをワークスペースにインストール

  • インストールしたアプリをチャンネルに追加

  • curlでメッセージ送信テスト

作業

アプリ作成

メッセージを送信するためには、アプリを作らないといけないみたい。

ここからアプリを作る。

Emailアプリ

Emailアプリ

作ったアプリに、メッセージ送信の権限を追加

パーミッションからBot Token Scopesにchat:writeを追加する。

Emailアプリ

Emailアプリ

作ったアプリをワークスペースにインストール

Emailアプリ

Emailアプリ

追加すると、トークンが取得できます。

送信時に必要になるので控えておきます。

Emailアプリ

インストールしたアプリをチャンネルに追加

チャンネルに投稿したい場合は、チャンネルにアプリの追加が必要です。

Emailアプリ

Emailアプリ

※インストールしたアプリをチャンネルに追加しないと

$ 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"}}}

Emailアプリ

チャンネル

$ 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

Emailアプリ

独り言

次はこの記事を参考に、プッシュするlambdaを作ります。


るな
るな
エンジニア