見出し画像

PythonでLineを送る方法【自動化に必須】

■ なぜ学ぶのか

今回はPythonを使ってLineを送る方法を紹介します。
プログラミングを学ぶ目的はひとそれぞれですが、皆に共通している部分は「人間の情報処理を減らす」ということです。
今回紹介するLineを送る方法を習得すれば、その目的を間違いなく達成でき、皆さんが触れる情報の量を最小化することができます

皆さんがプログラミングを学び上達していけば、わりと早い段階で「人間が扱いきれないような大量の情報」を処理できるようになります。
しかし、僕たちはそのプログラムの状態を常に確認するわけにはいきませんよね。
「必要な時、必要な量、整理された情報」だけを人が処理するべきなんです。
そう、その「最小限に絞り込んだ情報」だけを人間に届けるために、今回の「PythonでLineを送る方法」がとても役に立ってくれます。

方法は非常に簡単ですので、ぜひこの機会に習得していってください。
記事を参考にしていただければ、環境設定を10分程度で済ませ、かじり虫が用意したプログラムをコピペするだけで実行することができます


■ どういう時に使うのか

Line通知は様々な用途に使えますが、主な使用例をあげるなら以下の通りです▼

・エラーの通知
・プログラムの実行・終了・処理レポートを送る
・予定やTODOの通知
・欲しい商品が入荷したら商品画像付きで通知する
・降水確率30%以上の日に通知する
・保有株が一定価格になったら通知する

細かい使用例を挙げればきりがありませんが、「必要な情報だけを人間に知らせてくれる」ためにとても有用です。
私はというと、データベースの状態を毎週グラフで出力し、異常が起きたらすぐに認識できるようにしていたりします。

挙げた例に無くとも、生活で減らしたい情報はきっとあるはずですから、ぜひ皆さんの生活に合った使い方を見つけてみてください。


■ 環境設定

今回のサンプルプログラムを実行する環境を紹介します。
Pythonの実行環境はGoogle Colaboratory(以下Colab)を使用します。
Colab環境を使ったことのない方は、環境の作り方を過去の記事にまとめていますので、そちらをご覧ください
10分程度で作れてしまうので、ぜひ気軽に取り組んでみてください。


■ ステップ1:Line Notifyでトークンを取得する

今回はLineのアカウントを取得していることを前提とします。

初めに、こちらの「Line Notify」のページへアクセスしてください。
そしてお持ちのアカウントでログインした後、アクセストークンを発行します▼

スクリーンショット 2021-05-14 124034

発行されたトークンはプログラムに必要ですので、保存しておいてください。


■ ステップ2:Pythonを使ってLineを送信する方法

Lineを送るためのPythonプログラムを以下の手順で実行してみてください。

1.Colabへプログラムを張り付ける
2.「access_token = "ABCDEFG"」を、発行されたトークンへ置き換える
3.プログラムを実行する

import requests
import os
import sys


def send_line_msg():
    # data
    text01 = "hello world"
    data = {"message": f"\n{text01}"}
    # headers
    access_token = "ABCDEFG" # 発行されたトークンへ置き換える
    headers = {"Authorization": f"Bearer {access_token}"}
    # send massage
    requests.post("https://notify-api.line.me/api/notify", data=data, headers=headers)


if __name__ == "__main__":
    send_line_msg()


■ ステップ3:実行結果の確認

トークンの書き換えさえ間違えなければ、皆さんの手元の端末へLineが送信されたはずです▼

画像2

いかがでしょうか。
プログラムを使ったLine通知は驚くほど簡単ですよね。
この技術を使えば、人間の情報処理を極限まで減らし、プログラムを使った自動化の鬼になることができます。


■ ステップ4:実用例

ステップ2のサンプルプログラムでも十分実用していくことができますが、プログラミング初心者の方向けに1つ実用例を挙げていこうと思います。
実用例のPythonプログラムを以下の手順で実行してみてください。

1.Colabへプログラムを張り付ける
2.「access_token = "ABCDEFG"」を、発行されたトークンへ置き換える
4.「FILE_PATH = "/content/drive/MyDrive/send_line.ipynb"」を、プログラムを実行するColabノートのパスに置き換える
3.プログラムを実行する

import requests
import os
import sys
import pathlib

# FILE_PATH = __file__ # ローカル環境ならこちら(Colabでは__file__が使えない)
FILE_PATH = "/content/drive/MyDrive/send_line.ipynb" # Colabノートのパスに置き換える
p = pathlib.Path(FILE_PATH)


def send_line_msg():
    # data
    text01 = "Error occurred!"
    text02 = p.parents[0] # directory path
    text03 = p.name # file name
    text04 = os.sys._getframe().f_code.co_name # function name
    data = {"message": f"\n{text01}\n{text02}\n{text03}\n{text04}"}
    # headers
    access_token = "ABCDEFG" # 発行されたトークンへ置き換える
    headers = {"Authorization": f"Bearer {access_token}"}
    # send massage
    requests.post("https://notify-api.line.me/api/notify", data=data, headers=headers)


if __name__ == "__main__":
    send_line_msg()

プログラム内にコメントしている通りですが、以下の通りの内容を通知しています▼

・エラー通知メッセージ
・ファイルのパス
・ファイル名
・関数名

プログラムのエラー対応に必要となる情報を取得し、通知する例ですね。
ぜひ参考にしてみてください。

ちなみに、通知内容は以下のようになります▼

画像3

改行コード(\n)を挟むと、メッセージがより見やすくなりますね!



かじり虫の活動を応援してくださる方のサポート、お待ちしております。 これからも有意義なコンテンツを作成していきますので、私の「夢中」をぜひ一緒に共有していきましょう^^