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通知にてエラーがあった場合にデバッグが行えるようにしています。

参考にさせていただいたサイト様

https://qiita.com/tadaken3/items/0998c18df11d4a1c7427