Slack受信ノード¶
概要¶
このノードはSlackからのメッセージを受信する事が出来ます。受信した内容はpayload内に格納されます。
設定の流れ¶
Slack受信ノードを利用する前に、先にSlack側での準備、設定が必要になります。 簡単に流れを記載すると
- api.slackでAPPを作成
- Slackチャンネルに上記作成したAPPを追加
- robosteinのエディター画面でSlack受信ノードの設定
- Teamsの受信が出来るか確認する
となります。上記に沿った形で説明します。
1.api.slackでAPPを作成¶
画面が変更となっている可能性がありますのでその際は読み替えてください。(2020/05現在)
最初にクラシックSlackアプリを作成する必要があります。
APPの追加¶
クラシックSlackアプリを作成します。
下記をクリックすると作成が可能です。
https://api.slack.com/apps?new_classic_app=1まずはこちらにアクセスします。
以下のモーダル画面となりますのでAPPの名前を決め、APPを新規に作成します。
名前はわかりやすい名前であればなんでも構いません。(下記赤枠をクリック)
WorkSpace名
WorkSpace名は通常利用しているSlackのワークスペース名を選択してください。(通常は最初に選択されているものでOKです)
Botsの追加¶
botを追加します。(下記赤枠をクリック)
Bot Userを追加します。(下記赤枠をクリック)
botの名前を決め、Bot Userを追加します。
名前はわかりやすい名前であればなんでも構いません。(下記赤枠をクリック)
Tokenの取得¶
パーミッションの設定をします。(下記赤枠をクリック)
パーミッションの設定をします。(下記赤枠をクリック)
パーミッションの設定をします。(下記赤枠をクリック)
WorkSpace名
WorkSpace名はAPP作成時の名称となっていると思いますので読み替えてください。
Tokenを取得します。(下記赤枠をクリック)
Tokenはノードの追加時に必要になりますのでどこかにコピーをしておいてください。
Tokenの種類に注意
画面には2種類のTokenが表示されますが、利用可能なTokenは下段の「Bot User OAuth Access Token」となりますのでご注意ください。
以上でAPPの作成は終了です。
2.Slackチャンネルに上記作成したAPPを追加¶
次に、利用したいSlackチャンネルに上記で作成したAPPを追加します。
Slack画面上で赤枠の「i」のアイコンを押し、表示されたサイドメニューの赤枠「Add APP」を押します。
表示された画面で、先ほど追加したAPPの名前を入力し、APPを選択します。
以上でSlackのチャンネルへのAPP追加は終了です。
Slack側の準備は以上で完了です。
3.robosteinのエディター画面でSlack受信ノードの設定¶
最後にrobosteinのエディター画面でSlack受信ノードの設定をおこないます。
プロパティ画面から新規Tokenの設定(下記赤枠をクリック)
アクセストークンにTokenを入力し、トークンが問題無いかチェック(下記赤枠をクリック)
OKと返ってくる事を確認する 問題無ければ右上の「追加」をクリックします。
チャンネルIDの取得をします(下記赤枠をクリック)
下図のように表示されるので該当のチャンネルのIDをコピーします(下記赤枠をコピー)
コピーしたIDを入力します。(下記赤枠に入力)
メッセージの受信をしたいのでmessageにチェックを入れます(下記赤枠をクリック)
次に「完了」を押して設定を完了します。
以上でrobostein側の設定は完了です。
4.Slackの受信が出来るか確認する¶
では上記Slack受信ノードにdebugノードを付け、実際に受信するか確かめてみます。以下の動画をご覧ください。
Slack受信の確認
Slack上からメッセージを入力。
デバッグウインドウにSlackからメッセージが渡ってきているか確認しています。
slackの状態
まれにslack側の接続に時間がかかる場合もあります。その際はすこし時間をおいてから再度上記の確認をおこなってみてください。
slackとの接続
Slackとはソケット接続をおこなっています。動作が不安定な場合、一度該当ノードを削除した上でデプロイし、再度新たにノードを設定するなどで解消される場合があります。
受信内容
メッセージ以外にも様々な状態の変化をトリガーとする事も可能です。詳しくはプロパティ画面の「受信イベント」をご覧ください。例えばメンバーがスターを付けた事をトリガーにして動作をさせる。というような事も出来ます。