python3でLine Notifyを使用してメッセージ(文章、画像、スタンプ)を送る方法メモ。
大きく2ステップです。
Line Notifyのアクセストークン発行
以下へアクセス。

LINE Notify
LINE NotifyはGitHub,IFTTT,MackerelなどのWebサービスからの通知を、LINEで受信することが出来る便利なサービスです。
ログインします。

右上のマイページリンクからアクセストークンを発行します。

トークン名、トークルームを選択し、トークンを発行します。

トークンは忘れずにメモします。

Python3からLineへメッセージを送信する
メッセージだけであれば以下で送信可能です。
import requests
url = "https://notify-api.line.me/api/notify"
access_token = '取得したアクセストークン'
headers = {'Authorization': 'Bearer ' + access_token}
message = 'test message'
payload = {'message': message}
r = requests.post(url, headers=headers, params=payload)
requestsを利用し、headerにtokenを付与して、postメソッドでurl、header、payloadを引数にして実行するだけです。
なお、messageに空文字は指定できません。
簡単ですね。
画像・スタンプなどの送信方法
画像を送信する場合
postメソッドへのパラメータにfilesを追加します。
import requests
url = "https://notify-api.line.me/api/notify"
access_token = '取得したアクセストークン'
headers = {'Authorization': 'Bearer ' + access_token}
message = 'image test'
image = './sample.jpg' # jpgもしくはpng
payload = {'message': message}
files = {'imageFile': open(image, 'rb')}
r = requests.post(url, headers=headers, params=payload, files=files)
こちらもmessageに空文字は指定できません。何かの対策でしょうか。
スタンプを送信する場合
postメソッドへの引数:payloadにstickerPackageIdとstickerIdを追加します。
import requests
url = "https://notify-api.line.me/api/notify"
access_token = '取得したアクセストークン'
headers = {'Authorization': 'Bearer ' + access_token}
message = 'stamp test'
payload = {
'message': message,
'stickerPackageId': 1,
'stickerId': 13,
}
r = requests.post(url, headers=headers, params=payload)
stickerPackageIdとstickerIdの組み合わせによるスタンプの種類は以下を参照します。
https://devdocs.line.me/files/sticker_list.pdf
以下を参照しました。

PythonでLINEにメッセージを送る - Qiita
はじめに何番煎じかわかりませんが,Python x LINE NotifyでLINEにメッセージを送れるボットを作ったので,その備忘録です。深層学習モデルの学習など,時間がかかる処理を回している…
コメント