Slack App の Event Subscriptions のイベント選択
Slack App の Event Subscriptions にイベントを設定する際は、対象チャンネルの種類に応じて適切なイベントを選ぶ必要があります。
パブリックチャンネルとプライベートチャンネルでは使うべきイベント名が異なるため、選択を誤ると期待した動作になりません。
背景
Slack App で Webhook を使った通知機能の確認中、プライベートチャンネルでテストしていたところ、メッセージを投稿しても反応がありませんでした。
調べてみたところ、設定していたイベントが message.channels で、これはパブリックチャンネル専用のイベントだったことが原因でした。
適切なイベントを登録するための設定方法
Slack では、チャンネルの種類ごとに適切なイベントを選ばないと通知が飛ばないことがあります。
このような設定ミスを避けるには、イベント種別を正しく理解し、Slack App の Event Subscriptions に適切なイベントを追加する必要があります。
以下は、Slack App の Event Subscriptions に追加する代表的なイベントとその対応条件です。
チャンネル種別に応じて選択すべきイベント
次のイベントは、メッセージが投稿されたチャンネルの種類に応じて発火します。
対象となるチャンネルに合わせて、対応するイベントを Slack App に登録します。
| チャンネルの種類 | 対応するイベント名 |
|---|---|
| パブリックチャンネル | message.channels |
| プライベートチャンネル | message.groups |
| ダイレクトメッセージ(DM) | message.im |
| 複数人 DM | message.mpim |
アクション種別に応じて選択すべきイベント
次のイベントは、チャンネルの種類にかかわらず、特定のアクションに応じて発火します。
これらはチャンネル種別とは独立して有効です。
| 発火条件 | 対応するイベント名 |
|---|---|
@bot にメンションが送られたとき | app_mention |
| メッセージにリアクションが付いたとき | reaction_added |