LoginSignup
1
1

More than 3 years have passed since last update.

今更ながらSlackBotを作ってみた:Incoming Webhooks

Last updated at Posted at 2019-05-06

SlackBotを作ってきましたが、これがいよいよ最後です。
 今更ながらSlackBotを作ってみた
 今更ながらSlackBotを作ってみた:Slach Commands
 今更ながらSlackBotを作ってみた:Interactive Components
 今更ながらSlackBotを作ってみた:ダイアログ

今回はIncomming Webhooksです。
いつでも好きな時に、特定のチャネルや特定のユーザにメッセージを送信します。

以下が参考になります。

Incoming Webhooks
 https://api.slack.com/incoming-webhooks

Incoming Webhooksを有効にする

いつもの、Setting-Basic Informationを開きます。

image.png

Incoming Webhooksを選択します。

image.png

Activate Incoming WebhooksをOnにします。

image.png

次に、下の方にある「Add New Webhhooks to Workspace」リンクをクリックします。

image.png

投稿先として、メッセージを送信したいチャネルまたはユーザ名を選択し、許可するボタンを押下します。
例えば、最初に作ったチャネル#testprojectを選択しました。

image.png

そうすると、Webhook URLのテーブルに先ほどのチャネルとURLが追加されているのがわかります。Webhook URLは後で使うので覚えておきます。

サーバ側の実装

Incoming Webhookによるメッセージ送信するきっかけとして、前回の投稿で作ったアンケートへの回答があった時としたいと思います。

app.submissionは変更、それ以外は追加です。

controllers\slack_testbot\index.js
const WEBHOOK_URL_INCOMING = Webhook URL;


app.submission(async (body, web) =>{
    var message = {
        "text": '回答ありがとうございました。',
    };
    app.responseMessage(body.response_url, message );

    app.responseMessage(WEBHOOK_URL_INCOMING, { text: body.user.name + 'さんがアンケートに回答しました。' });
});

【Webhook URL】の部分をさきほど生成されたIncoming WebhookのWebhook URLに置き換えます。

動作確認

今回も、AndroidのSlackアプリで動作確認しました。

こんな感じで入力して、送信すると、

image.png

レスポンスメッセージを受信しました。

image.png

ここまでは以前と同じですが、チャネル#testprojectにもメッセージが届いています。

image.png

以上

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1