Google Apps Script

【GAS×SlackAPI】SlackAppのBotから指定ユーザー宛にDM送信する

こんにちは、もり(moripro3)です!

この記事では、GASとSlackAppを使って、botユーザーから指定ユーザー宛にDM送信する方法を紹介します。

本記事はノンプログラマーのためのスキルアップ研究会『ノンプロ研 Advent Calendar 2020』10日目の記事です。

SlackAppでユーザー宛にDMを送信する

前提:SlackAppの作成と、ワークスペースへのインストールが完了していること

DM送信するユーザーの「メンバーID」を確認

Slackの各ユーザーには、一意の「メンバーID」が割り当てられています。DMの送信先(宛先)にメンバーIDを指定するので、これを確認しておきましょう。

自分以外の他ユーザーのメンバーIDも、上記と同じ手順で確認できます。

 

【参考】ワークスペース内のユーザー名とメンバーIDの一覧を取得する方法はこちら

【GAS×SlackAPI】ワークスペースのユーザー名とIDをスプレッドシートに取得するGASでSlackAPIを操作して、ワークスペースのユーザーリスト(ユーザー名とID)を取得する方法を紹介します。...

OAuth & Permissionsの設定

SlackAPIのappページで必要情報を取得・設定します。Your Apps(https://api.slack.com/apps/

①tokenの取得

OAuth & Permissionsのページでtokenをコピーします。

SlackAPIのOAuthToken

②scopeの設定

「Add an OAuth Scope」をクリックして、下記2つを追加します。

SlackAppでDM送信のscope

③メソッドの確認

  • ①「メンバーID」から「チャンネルID」を取得するメソッド:conversations.open
  • ②指定の「チャンネルID」にメッセージを送信するメソッド:chat.postMessage

指定ユーザー宛にDMを送信

変数slack_app_tokenの値を設定し、スクリプトを実行します。

SlackAppからDMが届きました。

SlackAppからDMが届く