Pythonを使って自在にSlackにメッセージを送信!!

balance プログラミング

Slack の Incoming Webhooks を使えば、簡単に Slack にメッセージをプログラムから送信することができます。

この記事では、Incoming Webhooks を使って Slack にメッセージを送信する Python コードを紹介します。

Incoming Webhooks とは

Incoming Webhooks は、Slack の特定のチャンネルに対して特定のメッセージを送信するための方法です。

Incoming Webhooks を作成するとメッセージを送信するっための URL が提供されます。

この URL を使えば、POST リクエストを送ることで、メッセージを送信することができます。

この方法は簡単で、いろいろなシステムやスクリプトから Slack にメッセージを送信できます。

Incoming Webhooks を使うためには、大きく次の4ステップが必要です。

  1. Slack アプリを作成する。
  2. Incoming Webhooks を有効にする。
  3. Incoming Webhooks を作成する。
  4. メッセージを送信する。

Slack アプリを作成する。

URL を取得するには、Slack でアプリを作成する必要があります。

次のサイトにアクセスして「Create New App」をクリックし「From scratch」を選択します。

Slack アプリを作成する

アプリの名前とワークスペースを選択し、「Create App」をクリックします。

これでアプリの作成が終わりました。

Incoming Webhooks を有効にする。

アプリの作成ができたら、Incoming Webhooks を有効にします。

Features の「Incoming Webhooks」を選択し、Activate Incoming Webhooks を『On』にします。

Incoming Webhooks を作成する。

Features の「Incoming Webhooks」の下にスクロールすると、「Add New Webhook to Workspace」というボタンがあるので、このボタンをクリックします。

チャンネルを選択する画面になるので、メッセージを送信したいチャンネルを選択して、「許可する」をクリックします。

「Incoming Webhooks」の下の「Webhook URL」に URL が追加されます。

URL は次のような形になります。

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

これでチャンネルに対してメッセージを送信するための URL が取得できました。

メッセージを送信する。

先ほど取得した URL に POST リクエストを送ることでメッセージを送信できます。

次の Python のコードの4行目の「ここに Webhook の URL を貼り付ける」というところを取得した URL に書き換えてください。

import requests

def sendToSlack(message):
    webhook_url = 'ここに Webhook の URL を貼り付ける'
    payload = {
        'text': message
    }
    requests.post(webhook_url, json=payload)

sendToSlack('Hello, World!')

このコードを実行すれば、Slack にメッセージの送信ができます。

これを使えば、Alexa に話しかけて Slack に通知することもできます。

参考

タイトルとURLをコピーしました