PythonでSlackにメッセージを送信する
SlackのIncomingWebHookを使ってPythonからメッセージを送信してみる。
ここの「incoming webhook integration」でメッセージを送信したいチャンネルのURLを取得する。
取得したURLに対してPOST送信すればメッセージ送信ができる。POST送信はrequests
を使って行う。
>>> import requests >>> import json >>> payload = {'text': 'hello!'} >>> requests.post(取得したURL, data=json.dumps(payload)) <Response [200]>
これで以下のようにメッセージが送信されているはず
送信するデータについて
post()
メソッドのdata
で色々なことができるらしい。Incoming WebHooks | Slack App Directoryをそのままメモしておく。
text
チャンネルに送信するメッセージ
payload={'text': 'hello!\nworld!'}
リンクを付ける
リンクを付けるにはリンクにしたいURLを<
>
で囲む。
payload={'text': '<http://tmg0525.hatenadiary.jp>'}
また、表示文字を変更するときには<url|表示文字>
とする。
payload={'text': '<http://tmg0525.hatenadiary.jp| ここをクリック>'}
username
メッセージを送信するボット名
payload={'username': 'botbotbot', 'text': 'hello!'}
icon_url
アイコンのURL
payload={'icon_url': 'https://slack.com/img/icons/app-57.png', 'text': 'hello'}
icon_emoji
アイコンの絵文字
payload={'icon_emoji': ':dog:', 'text': 'hello'}