概要
以前、TwitterAPIをPythonで操作する記事を投稿しましたが、今回はその__Slack Incoming Webhook版__となります。
今や__IT業界以外__でも__Slack__を利用している会社は多くなってきているので、__Slack API__を使いこなせるようになりたいなーと思ったので今回触ってみました。
個人的には__TwitterAPIよりとても簡単__でした。
手順
環境
今回は__以下の環境__で実装をします。
- Python 3.6.1
- requests==2.18.4
前提
__以下の準備__が出来ていること
-
Slack関連
- Workspace
- Chanel
-
Python関連
- requestsのインストール
Incoming Webhookの登録
まずは、Slackに__Incoming Webhook__を作成する必要があります。
この設定をすることで__外部からSlackへのメッセージ通知が可能__になります。
まずはコチラにアクセスします。
そして、__通知をしたいチャンネル__を選択し__Add Incoming Webhook integrationボタン__をクリックします。
※複数のワークスペースに参加している場合、他のワークスペースを選ばないように気をつけてください。
そうすると、__ページ中央下部__に__Webhook URL__が表示されるので__コピー__しましょう。
スクリプトの実装
__以下のスクリプト__を用意してください。
import requests, json
WEB_HOOK_URL = "{Webhook URL}"
requests.post(WEB_HOOK_URL, data = json.dumps({
'text': u'Notifycation From Python.', #通知内容
'username': u'Bakira-Tech-Python-Bot', #ユーザー名
'icon_emoji': u':smile_cat:', #アイコン
'link_names': 1, #名前をリンク化
}))
実行
そい!!
python slack.py
おぉ、簡単!!
カスタマイズ
Incoming Webhooknoの__編集画面__で__デフォルトの表示名__や__アイコン画像__を指定すること出来ます。
ここで設定しておけば__都度指定する必要が無くなる__ので便利です♪
import requests, json
WEB_HOOK_URL = "{Webhook URL}"
requests.post(WEB_HOOK_URL, data = json.dumps({
'text': u'Notifycation From Python.', #通知内容
'link_names': 1, #名前をリンク化
}))
素晴らしい!
あとがき
何やら、Slackで外部からメッセージを送る方法には
の__2つの方法__があるらしいですね。(なんか他にもありそうですが)
今回は__後者__を紹介しましたが、__前者__についても時間があるときに調べてみようと思います。
参考にさせて頂いた記事
非常に助かりました!!!