アプリケーションの作成
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
こちらもおススメ