60
42

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-01-15

概要

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

参考にさせて頂いた記事

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

60
42
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
42

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?