Python3でSlack Webhookを使いメッセージを送信する

PythonでSlackに投稿する方法が思ったより簡単だったのでメモとして残します。

超基本的なところが分かれば後は応用なので自分が最初に疑問に思っていたところを紹介します。WebhookのためのURLは既に取得しており、Pythonもインストール済みの前提で進めます。

これだけで投稿できる超基本

import requests
import json

if __name__ == '__main__':
    webhook_url = "https://hooks.slack.com/services/XXXX"
    message = "送信するメッセージ"
    requests.post(webhook_url, data=json.dumps({'text': message}))

これだけで「送信するメッセージ」が投稿されます。超簡単。

メッセージを改行するにはどうするのか

複数行のメッセージを送信したい場合はどうすれば良いのか?

これは単純に行末に改行コードを付ければOKです。

import requests
import json

if __name__ == '__main__':
    webhook_url = "https://hooks.slack.com/services/XXXX"
    message = "送信するメッセージ\n2行目のメッセージ"
    requests.post(webhook_url, data=json.dumps({'text': message}))

これで2行送信されます。

インラインメッセージを送信するにはどうするのか

Slackでインラインメッセージを送信するには、メッセージをバッククォート3つ(```)で囲みます。Webhookで送信する場合も同じです。

import requests
import json

if __name__ == '__main__':
    webhook_url = "https://hooks.slack.com/services/XXXX"
    message = "```送信するメッセージ\n2行目のメッセージ```"
    requests.post(webhook_url, data=json.dumps({'text': message}))

これでインラインコードが送信できます。

まとめ

超基本的なところだけ紹介しましたが、Pythonが分かる人であれば十分だと思います。

curlコマンドでも送信できますが、Pythonだとrequestを使って簡単にSlackへ投稿できるのでおすすめです。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)