【最短5分】PythonでLINEに通知するbotの作り方

【最短5分】PythonでLINEに通知するbotの作り方

 

★悩み★
・Pythonを使ってLINEにメッセージを通知するbotの作り方は?
・LINE通知には、LINE Notifyが必要らしいが、LINE Notifyとは?
・あるサイトが更新されたら、PythonからLineに画像などを送信できる?



こういった「悩み」に答えます。
 

★本記事の内容★
① LINE Notifyとは?【できること/使い方/動作環境を解説】
② LINE Notifyの準備(トークン発行と友達追加)【10枚で図解】
➂ PythonでLINEへ通知【メッセージ/画像/スタンプ送信を解説】



これからご紹介する「【最短5分】PythonでLINEに通知するbotの作り方」を実践したことで、30分以内で「LINEにメッセージや画像を送信するPythonプログラム(下の動画)」を作成できました。
 

PythonとLINE NotifyでLINEに通知
PythonとLINE NotifyでLINEに通知する例



記事の前半では「LINEにメッセージなどを通知するbotを作るために必要なLINE Notifyとは?」を解説します。

記事の後半では「PythonでLINEにメッセージやスタンプを送信するプログラムの作り方」と「あるサイトが更新されたらLINEに通知するbotの作り方」を紹介します。
 

この記事を読み終えることで、「Pythonを使ってLINEに通知するbotの作り方」を把握した状態になります。
 


ちなみに、Gmail経由でメッセージ送信したい方は、以下の記事をご覧ください。
 


 

LINE Notifyとは?

LINE Notifyとは?


「LINE Notifyとは?」に関してご紹介します。
 

★LINE Notifyとは?★
・そもそもLINE Notifyとは?できることは?
・便利な使い方



以降で、上記「LINE Notifyとは?」の各項目に関してご説明します。
 

そもそもLINE Notifyとは?できることは?

「そもそもLINE Notifyとは?できることは?」に関して解説します。
 

LINEにPythonからメッセージを通知したい場合、LINE NotifyというLINE社が提供しているサービスを使う必要があります。



LINEの公式サイトでは、以下のように「LINE Notify」を定義しています。
 

LINE Notifyの定義
LINE Notifyの定義



少し難しい文言でLINE Notifyを定義されています。

以下に簡単な文言に置き換えた「LINE Notifyの定義」を記載しますね。
 

★LINE Notifyの定義(できること)★
LINE Notifyとは、LINEのトーク画面に自動でメッセージやスタンプなどを通知できるサービスのことです。



このLINE Notifyを使うための条件を以下に記載します。
 

★LINE Notifyを使うための条件★
LINEのアカウントを持っていること。
LINE Notifyを使うために別途料金がかかるということはないです。(無料)



また、LINE Notifyの「利用制限や規約」は、以下に記載されています。
 

★LINE Notifyの利用制限や規約★
LINE Notifyは、1時間に1000回まで通知できます。
ドキュメント:LINE Notify API Document(LINE社の公式サイト)
規約:LINE Notifyの利用規約(LINE社の公式サイト)



以上が、「そもそもLINE Notifyとは?できることは?」となります。
 

便利な使い方

「便利な使い方」に関して説明します。
 

LINE Notifyの利用例を通して、便利な使い方を簡単に紹介しますね。



LINE Notifyを使った便利な使い方の例としては、以下があります。
 

★LINE Notifyの便利な使い方の例★
・雨が降りそうなときにLINE Notify経由でLINEにスタンプを送信
・監視システムが異常な状態になった場合にLINEに画像と共に通知
・GitHubにプログラムがコミットされたらメッセージと共に通知



上記利用例から、LINE Notifyは、以下の場面でよく使われます。
 

★LINE Notifyのユースケース(利用場面)★
ある条件を満たしたときに、LINEへ自動通知したい時にLINE Notifyを使う。



以上が、「便利な使い方」となります。
 

「LINE Notifyとは」や「便利な使い方」をもとに、LINE Notifyの概要を紹介しました。以降では、実際にLINE Notifyを使うための準備を解説しますね。


 

LINE Notifyの準備(トークン発行と友達追加)

LINE Notifyの準備(トークン発行と友達追加)


「LINE Notifyの準備(トークン発行と友達追加)」に関してご紹介します。
 

★LINE Notifyの準備(トークン発行と友達追加)★
手順1:LINEアカウントの作成
手順2:LINE Notifyの設定(アクセストークンの発行)
手順3:LINE Notifyを友達に追加しトークルームへ招待



上記の流れで、「PythonでLINEにメッセージを通知(送信)するための準備」ができます。
 

上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2022年7月13日



以降で、上記「LINE Notifyの準備(トークン発行と友達追加)」の各手順に関してご説明します。
 

手順1:LINEアカウントの作成

「手順1:LINEアカウントの作成」に関してご説明します。
 

PythonなどからLINE Notify経由でLINEに通知するためには、LINEのアカウントが必要です。



LINEアカウントをお持ちでない方は、以下をクリックし作成しましょう。
>> LINEアカウントの作成ページ
 

LINEアカウントを作成するために新規登録ページにアクセス
LINEアカウントの新規登録ページ

 

既にLINEアカウントをお持ちの方は、本手順を省略してください。



以上で、「手順1:LINEアカウントの作成」は完了です。
 

手順2:LINE Notifyの設定(アクセストークンの発行)

「手順2:LINE Notifyの設定(アクセストークンの発行)」に関してご説明します。
 

LINE機能の1つである「LINE Notify」の利用で、PythonからLINEにメッセージを通知(送信)できます。



まずは、LINE Notifyにログインしましょう。
>> LINE Notifyのログインページ
 

LINE Notifyへアクセス後、「ログイン」(下図の赤枠)をクリックしましょう。
 

LINE Notifyのログインページを開く
LINE Notifyのログインページ



クリック後、以下の情報を入力し、「ログイン」(下図の赤枠)をクリックしましょう。
・アカウント名
・パスワード
 

LINEのログインページにアクセス
LINEのログインページ



クリック後、4桁の数字(下図の1836)をスマートフォンのLINEに入力しましょう。
 

スマートフォンのLINEに数字を入力
LINEにログインするための4桁の数字



入力後、LINE Notifyにログインできました。

ログイン後、「▼」(下図の赤枠) → 「マイページ」(下図の青枠)の順でクリックします。
 

LINE Notifyのログイン後ページ
LINE Notifyのログイン後ページ



クリック後、「トークンを発行する」(下図の赤枠)をクリックしましょう。
 

LINE Notifyのアクセストークン発行画面
LINE Notifyのアクセストークン発行画面



クリック後、以下の情報を入力し、「発行する」をクリックしましょう。
・トークン名:任意の名称を入力
・通知を送信するトークルーム:Pythonからメッセージを通知したいトークルーム
 

LINE Notifyで通知を送信したいトークルームを選択
LINE Notifyで通知を送信したいトークルームを選択



クリック後、LINE Notifyのアクセストークンが発行されます。
 

以降のPythonプログラムでアクセストークンが必要なため、「コピー」(下図の赤枠)をクリックし、コピーしておきましょう。
 

発行したLine Notifyのアクセストークン
発行したLine Notifyのアクセストークン



以上で、「手順2:LINE Notifyの設定(アクセストークンの発行)」は完了です。
 

手順3:LINE Notifyを友達に追加しトークルームへ招待

「手順3:LINE Notifyを友達に追加しトークルームへ招待」に関してご説明します。
 

LINE Notify経由でLINEに通知したい場合、LINE Notifyを友達に追加し、通知したいトークルームへ招待する必要があります。



LINEで「LINE Notify」(下図)を友達に追加しましょう。
 

LINE Notifyを友達追加
LINE Notifyを友達追加



その後、下図のように手順2で「通知を送信するトークルーム」に設定したトークルームに「LINE Notify」を招待しましょう。
 

通知したいトークルームにLINE Notifyを追加
通知したいトークルームにLINE Notifyを追加する画面


 

上記の流れで、PythonなどからLINE NotifyでLINEに通知できる状態になりました。
以降で、メッセージ/スタンプ/画像をLINEに通知するPythonプログラムの作り方を解説しますね。


 

PythonでLINEへ通知

PythonでLINEへ通知


「PythonでLINEへ通知」に関してご紹介します。
 

★PythonでLINEへ通知できること★
・準備:Pythonのインストール
・メッセージをLINEに通知するPythonプログラムの作り方
・画像をLINEに通知するPythonプログラムの作り方
・スタンプをLINEに通知するPythonプログラムの作り方
・応用:サイトが更新されたら通知するbotの作り方



上記の流れで、「PythonからLINEへ通知」できます。
 

上記の各項目は、以下の環境で動作確認済みです。
動作確認環境:CentOS Linux release 7.8.2003 (Core)/Windows Pro 11



以降で、上記「PythonでLINEへ通知できること」の各手順に関してご説明します。
 

準備:Pythonのインストール

「準備:Pythonのインストール」に関してご説明します。
 

LINE Notifyを使うために、Pythonをインストールしましょう。



以下の記事を参考にし、お使いのパソコンやサーバーにPythonをインストールしましょう。

>> 【ubuntu向け】pyenvでPythonをインストールする手順【簡単】

>> 【コピペOK】pyenvでPythonをインストールする手順【Linux用】

>> 【最短5分】PyAutoGUIをWindowsにインストールする手順の「手順1:Pythonのインストール」を参照

>> 【環境構築】インストーラーでMacOSにPythonをインストール

 

既にPythonをインストールされている方は、本手順を省略してください。



以上で、「準備:Pythonのインストール」は完了です。
 

メッセージをLINEに通知するPythonプログラムの作り方

「メッセージをLINEに通知するPythonプログラムの作り方」に関してご説明します。
 

「LINEにメッセージを通知(送信)する」Pythonプログラムを作成しましょう。



Pythonで「LINEにメッセージを通知(送信)する」プログラムは、以下となります。プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。

import requests

notification_message = "てすとです。" # LINEに通知(送信)したいメッセージ

line_notify_token = 'XXXX' # LINE Notifyのアクセストークン(適宜変更)
line_notify_api = 'https://notify-api.line.me/api/notify'
headers = {'Authorization': f'Bearer {line_notify_token}'}
data = {'message': f'message: {notification_message}'}
requests.post(line_notify_api, headers = headers, data = data)

print("LINEにメッセージを通知[送信]しました。")


上記のプログラムを「line-message-send.py」というファイル名で保存しましょう。
 

以下のコマンドを実行し、作成した「LINEにメッセージを通知(送信)するPythonプログラム」の動作を確認しましょう。

# python line-send.py
LINEにメッセージを通知[送信]しました。



上記のように「LINEにメッセージを通知[送信]しました。」が表示された場合、「PythonでLINEにメッセージを通知(送信できた)」と判断できます。
 

また、LINEにメッセージが通知(送信)されたかを確認しましょう。
 

PythonでLINE Notifyを使ってLINEに通知
PythonでLINE Notifyを使ってLINEに通知



以上が、「メッセージをLINEに通知するPythonプログラムの作り方」となります。
 

画像をLINEに通知するPythonプログラムの作り方

「画像をLINEに通知するPythonプログラムの作り方」に関して解説します。
 

「LINEに画像を通知(送信)する」Pythonプログラムを作成しましょう。



Pythonで「LINEに画像を通知(送信)する」プログラムは、以下となります。プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。

import requests

notification_message = "てすとです。" # LINEに通知(送信)したいメッセージ(適宜変更)
line_notify_token = 'XXXX' # LINE Notifyのアクセストークン(適宜変更)
image_path = 'image.jpg' # LINE Notifyで通知した画像のPATH(適宜変更)

# LINE Notifyで通知するための準備
line_notify_api = 'https://notify-api.line.me/api/notify'
headers = {'Authorization': f'Bearer {line_notify_token}'}

# 通知したいメッセージを設定
data = {'message': f'message: {notification_message}'}

# 通知したい画像を設定
files = {'imageFile': open(image_path, "rb")} 

# PythonでLINE Notify経由でLINEに通知
requests.post(line_notify_api, headers = headers, data = data, files = files)

print("PythonプログラムからLINEに画像を通知しました。")


上記のプログラムを「line-image-send.py」というファイル名で保存しましょう。
 

以下のコマンドを実行し、作成した「LINEにメッセージを通知(送信)するPythonプログラム」の動作を確認しましょう。

# python line-image.py
PythonプログラムからLINEに画像を通知しました。



上記のように「PythonプログラムからLINEに画像を通知しました。」が表示された場合、正常に「PythonでLINEに画像を送信できた」と判断できます。
 

また、LINEに画像が通知されたかを確認しましょう。
 

PythonからLINEに画像を通知した結果
PythonからLINEに画像を通知した結果



以上が、「画像をLINEに通知するPythonプログラムの作り方」となります。
 

スタンプをLINEに通知するPythonプログラムの作り方

「スタンプをLINEに通知するPythonプログラムの作り方」に関して解説します。
 

「LINEにスタンプを通知(送信)する」Pythonプログラムを作成しましょう。



LINE Notify経由でLINEに送信できるスタンプ一覧は、以下に記載されています。
>> LINE Notify経由で通知できるスタンプ一覧(LINE公式サイト)
 

今回は、以下の「ひよこのOKAY」スタンプ(パッケージIDが789、スタンプIDが10858)を送信してみましょう。

LINE Notifyで送信できるスタンプ例
LINE Notifyで送信できるスタンプ例



Pythonで「LINEにスタンプを通知(送信)する」プログラムは、以下となります。プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。

import requests

notification_message = "てすとです。" # LINEに通知(送信)したいメッセージ(適宜変更)
line_notify_token = 'XXXX' # LINE Notifyのアクセストークン(適宜変更)
stickerPackageId = 789 # 使い方スタンプのパッケージID(適宜変更)
stickerId = 10858 # 通知したいスタンプID(適宜変更)

# LINE Notifyで通知するための準備
line_notify_api = 'https://notify-api.line.me/api/notify'
headers = {'Authorization': f'Bearer {line_notify_token}'}

# 通知したいメッセージとスタンプを設定
data = {'message': f': {notification_message}', 'stickerPackageId': stickerPackageId, 'stickerId': stickerId}

# PythonでLINE Notify経由でLINEに通知
requests.post(line_notify_api, headers = headers, data = data)

print("PythonプログラムからLINEにスタンプを通知しました。")


上記のプログラムを「line-stamp-send.py」というファイル名で保存しましょう。
  

以下のコマンドを実行し、作成した「LINEにスタンプを通知(送信)するPythonプログラム」の動作を確認しましょう。

# python line-stamp.py
PythonプログラムからLINEにスタンプを通知しました。



上記のように「PythonプログラムからLINEにスタンプを通知しました。」が表示された場合、正常に「PythonでLINEにスタンプを送信できた」と判断できます。
 

また、LINEにスタンプが通知されたかを確認しましょう。
 

PythonからLINEにスタンプを通知した結果
PythonからLINEにスタンプを通知した結果



以上が、「スタンプをLINEに通知するPythonプログラムの作り方」となります。
 

応用:サイトが更新されたら通知するbotの作り方

「応用:サイトが更新されたら通知するbotの作り方」に関して説明します。
 

LINE NotifyとPythonを使うことで、サイトが更新されたらLINEに通知するbotを作れます。



今回ご紹介したPythonプログラムを応用することで、以下のような「サイトが更新されたらLINEに通知するbot」を作れます。
 

サイトが更新されたら通知するbot
サイトが更新されたら通知するbot



「サイトが更新されたら通知するbotの作り方」を詳しく知りたい方には、以下の記事がオススメです。
>> 【無料】サイトの更新を監視するプログラム(ツール)を作成する手順

 

PythonとLINE Notifyを使うことで、LINEに「メッセージ」「画像」「スタンプ」を通知できます。
また、応用することで「サイトが更新されたら通知するbot」も作れます。


 

【まとめ】PythonでLINEに通知するbotの作り方【最短5分】

【まとめ】PythonでLINEに通知するbotの作り方【最短5分】


いかがでしたでしょうか。

今回の記事を通して、「PythonとLINE Notifyを使うことで簡単にLINEに通知できること」と「具体的な手順」をご紹介することで、以下の悩みを解消しました。
 

★悩み★
・Pythonを使ってLINEにメッセージを通知するbotの作り方は?
・LINE通知には、LINE Notifyが必要らしいが、LINE Notifyとは?
・あるサイトが更新されたら、PythonからLineに画像などを送信できる?



サイトが更新されたらLINE通知といったことを実現したい場合、PythonとLINE Notifyの利用を検討しましょう。

コメント

タイトルとURLをコピーしました