post Image
PythonでSlackのIncoming Webhookを試してみる

概要

以前、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ボタンをクリックします。
※複数のワークスペースに参加している場合、他のワークスペースを選ばないように気をつけてください。

screencapture- 2018-01-15 22.03.53.png

そうすると、ページ中央下部Webhook URLが表示されるのでコピーしましょう。

screencapture- 2018-01-15 22.03.16.png

スクリプトの実装

以下のスクリプトを用意してください。

slack.py
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,  #名前をリンク化
}))

実行

そい!!

command
python slack.py

screencapture- 2018-01-15 22.08.06.png

おぉ、簡単!!

カスタマイズ

Incoming Webhooknoの編集画面デフォルトの表示名アイコン画像を指定すること出来ます。
ここで設定しておけば都度指定する必要が無くなるので便利です♪

screencapture- 2018-01-15 22.15.42.png

slack.py
import requests, json

WEB_HOOK_URL = "{Webhook URL}"
requests.post(WEB_HOOK_URL, data = json.dumps({
    'text': u'Notifycation From Python.',  #通知内容
    'link_names': 1,  #名前をリンク化
}))

screencapture- 2018-01-15 22.17.02.png

素晴らしい!

あとがき

何やら、Slackで外部からメッセージを送る方法には

2つの方法があるらしいですね。(なんか他にもありそうですが)
今回は後者を紹介しましたが、前者についても時間があるときに調べてみようと思います。

参考にさせて頂いた記事

非常に助かりました!!!


『 Python 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。