Slackのボットアプリを作って、プログラムからSlackに投稿させる

カテゴリ: 未分類 | タグ:

アプリケーションの作成

https://api.slack.com/にアクセスし、StartBuildingボタンをクリックします。
- ボタンをクリックすると、https://api.slack.com/apps?new_app=1に遷移します。

アプリケーションの名前と、どのワークスペースにボットを参加させるかを指定します。ここでワークスペースというのは、slackにログインするときにアクセスする"xxxx.slack.com"の内のxxxxに相当する箇所です。

作成したアプリケーションに権限を付与

作ったアプリケーションのページに遷移します

Add features and functionalityのIncoming Webhooksをクリックします。

Webhook機能は初期状態ではOffになっているので、Onに切り替えます。

画面の下に、WebhookURLを追加するボタンがあるので、クリックします。

Post toの欄で、アプリケーションが投稿できるチャンネルを指定し、Authorizeをクリックします。

投稿を行ってみる

slackへ投稿を行うHttpリクエストを行うためのサンプルcurlコマンドが表示されるので、これをそのまま実行します。

$ curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/xxxxxxxxxxxxxxxxxxxxxxxx

ok

すると、作成したアプリからSlackに投稿が行われます。

pythonのスクリプトからslackに投稿させる

curlによる動作確認が終わったら、プログラムからslackへの自動投稿を行ってみます。
今回はpythonで、requestsライブラリを使ったWebAPIを発行します。

import requests
import json

url = 'https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/xxxxxxxxxxxxxxxxxxxxxxxx'
post_data = json.dumps({
    'text': message,
    'username': u'bot_username',
})

requests.post(url, data = post_data)

pythonのrequestsライブラリは、以下のコマンドでインストールできます。

pip intall requests
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。