プログラム動作検証、放置してエラーだけ通知できないかな
LINEにエラーだけ送信するようにできるよ
こんな人には役立つかも
・PythonのプログラムからLINEにメッセージを送信したい。
・Pythonで稼働させているプログラムのエラーメッセージを遠隔で確認したい。
・稼働中ずっと張り付いていたくない。
PythonのメッセージをLINEへ通知したいと思った動機
サーバーなど、pythonでの取引プログラムを動作させているときに、何かしらのエラーで停止したりしたとき、外出中なども確認したいと思い、LINEにて通知する仕組みを実装しようと思いました。
LINEは、開発者用に、LINE notifyというサービスを提供しており、プログラムからLINEメッセージを送信できます。
![](https://panda-clip.com/wp-content/uploads/2019/03/IMG_1482-1-169x300.png)
LINE notifyへの登録、プログラムからの使用の備忘録を残したいと思います。
LINE notifyへの登録
①LINE notifyとグーグル検索して、LINE notifyのページへ行き、ログインを押す。
②LINEアカウント(メールアドレスとパスワード)でログインする。
③右上の名前を押し、「マイページ」へ移動する。
④「アクセストークンの発行」の「トークンを発行する」ボタンを押す。
⑤「トークン名」を入力、「1:1でLINE Notifyから通知を受け取る」を選択し、「発行」するを押す。
![](https://panda-clip.com/wp-content/uploads/2019/03/fig-206x300.png)
1:1以外にも、送信先はグループを指定したりも可能。
トークン名は、LINE Notifyの送信者名として表示される。
⑥アクセストークンをコピーして保存する。アクセストークンは大事に保管する。
![](https://panda-clip.com/wp-content/uploads/2019/03/fig-1-300x250.png)
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には、先ほど発行したアクセストークンを入力します。
関数化していろいろな場所で使えるようにしておくと便利です。
![](https://panda-clip.com/wp-content/uploads/2019/03/IMG_1483-300x156.png)
私は、tracebackで直接エラーメッセージを送信しています。取り引きプログラムのような、停止すると困るようなプログラムで、常に張り付いているのもつかれるので、LINE通知にてエラーがあった場合にデバッグが行えるようにしています。
参考にさせていただいたサイト
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UHl0aG9uJUUzJTgxJThCJUUzJTgyJTg5TElORSUyME5vdGlmeSVFMyU4MSVBN0xJTkUlRTMlODElQUIlRTMlODMlQTElRTMlODMlODMlRTMlODIlQkIlRTMlODMlQkMlRTMlODIlQjglRTMlODIlOTIlRTklODAlODElRTMlODIlOEImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWRjZWMzNmVkZGM0OWI2MDZiMTU2MWFkNjNkYjEyZWJl&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0YWRha2VuMyZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9OTI1MGY4NjM2MmQ5NjRkMjFjNWU0MjkxNDcyZDMyMDA&blend-x=142&blend-y=486&blend-mode=normal&s=9bfaac2794591130144e61b3c85bc20a)