Pythonでslackに実験結果(テキストと画像)を送る

テキストを送る

slack側のAPIを設定

  1. slackの「設定と管理」から「アプリを管理する」を開く.

fig1.png

  1. AppディレクトリIncoming Webhookを検索して追加する.

fig2.png

fig3.png

  1. チャンネルを選択して,「Incoming Webhookインテグレーションの追加」

fig4.png

  1. 「Webhook URL」をコピーする.

fig5.png

  1. botのアイコンと名前をここで変更できる.

fig6.png

pythonコード

import slackweb
slack = slackweb.Slack(url="コピーした Webhook URL")

def notify(title, text, color):
    attachments = [{"title": title,
                "text": text,
                "color": color, #good, warning, danger
                "footer": "Send from Python",
                }]
    slack.notify(text=None, attachments=attachments)

notify("テスト","おはよう","good")
notify("テスト","こんにちは","warning")
notify("テスト","こんばんは","danger")

attachmentsの構文は,以下を参考

実行結果

fig7.png

画像を送る

  1. 上記の1から2と同様にして「Bots」を追加する.
  2. API トークンをコピーする.

コード

import requests
import json

def notifyImg(title, imageURL):
        files = {'file': open(imageURL, 'rb')}
        param = {
        'token': "コピーした APIトークン", 
        'channels':'投稿したいチャンネル名',
        'filename':"filename",
        'title': title,
        }
        requests.post(url="https://slack.com/api/files.upload",params=param, files=files)

notifyImg("テスト画像", "test.png") #imageURLは,ファイルパス

ファイルパスとは

実行結果

fig8.png fig9.png

参考

Tags: