Pythonからシンプルにslackにアラートを飛ばす(2022新方式版)


はじめに

現場ではこの手の「ログをslackに投げる」みたいなのはすでに出来上がっていることが多いが実際にやったことあるかないかでは大きく違うので、メモみたいなものだが書いておく

参考

アプリケーションのテーマ自体はこっちだけどslackの設定の仕方が古いので、

設定の仕方はこっちの新方式で

slack側準備

https://api.slack.com/apps/



Webhook URL をコピーしといてください

source

import json
import requests


def send_message(message: str):
    response = requests.post(
        # webhook urlを貼る 
        'https://hooks.slack.com/services/cool/slack/endpoint',
        data=json.dumps({
            "channel": "random",
            "text": message,
            "icon_emoji": ":mostly_sunny:",
            "username": "weather_bot"
        })
    )
    print(response)


if __name__ == '__main__':
    TODAY = 0
    TOKYO = 130010
    url = f'https://weather.tsukumijima.net/api/forecast/city/{TOKYO}'
    weather_data = requests.get(url).json()
    txt = weather_data["title"] + '\n'
    txt += weather_data["forecasts"][TODAY]["date"] + '\n'
    txt += weather_data["forecasts"][TODAY]["telop"] + '\n'
    send_message(txt)

確認