プログラム動作検証、放置してエラーだけ通知できないかな
LINEにエラーだけ送信するようにできるよ
こんな人には役立つかも
・PythonのプログラムからLINEにメッセージを送信したい。
・Pythonで稼働させているプログラムのエラーメッセージを遠隔で確認したい。
・稼働中ずっと張り付いていたくない。
PythonのメッセージをLINEへ通知したいと思った動機
サーバーなど、pythonでの取引プログラムを動作させているときに、何かしらのエラーで停止したりしたとき、外出中なども確認したいと思い、LINEにて通知する仕組みを実装しようと思いました。
LINEは、開発者用に、LINE notifyというサービスを提供しており、プログラムからLINEメッセージを送信できます。
LINE notifyへの登録、プログラムからの使用の備忘録を残したいと思います。
LINE notifyへの登録
①LINE notifyとグーグル検索して、LINE notifyのページへ行き、ログインを押す。
②LINEアカウント(メールアドレスとパスワード)でログインする。
③右上の名前を押し、「マイページ」へ移動する。
④「アクセストークンの発行」の「トークンを発行する」ボタンを押す。
⑤「トークン名」を入力、「1:1でLINE Notifyから通知を受け取る」を選択し、「発行」するを押す。
1:1以外にも、送信先はグループを指定したりも可能。
トークン名は、LINE Notifyの送信者名として表示される。
⑥アクセストークンをコピーして保存する。アクセストークンは大事に保管する。
PythonからLINE notifyへ送信
以下のプログラム例のように、LINE Notifyにメッセージを送信します。
import requests import sys def line_ntfy(mess): url = "https://notify-api.line.me/api/notify" token = 'アクセストークン' headers = {"Authorization" : "Bearer "+ token} payload = {"message": str(mess)} requests.post(url ,headers = headers ,params=payload) line_ntfy("色々なメッセージ")
urlは、通知のエンドポイント、tokenには、先ほど発行したアクセストークンを入力します。
関数化していろいろな場所で使えるようにしておくと便利です。
私は、tracebackで直接エラーメッセージを送信しています。取り引きプログラムのような、停止すると困るようなプログラムで、常に張り付いているのもつかれるので、LINE通知にてエラーがあった場合にデバッグが行えるようにしています。