はじめに
LINE Notify を Python で利用し、LINE にメッセージを送信するボットの備忘録です。
手順は、以下になります。
- LINE アカウントの作成と LINE Notify のサービス登録
- メッセージを送信
環境
- Windows 10 Pro
- Python 3.6.9 (anaconda)
LINE Notify を利用するために
LINE Notify とは
LINE Notify 公式サイトには、以下の説明があります。
Webサービスと連携すると、LINEが提供する公式アカウント"LINE Notify"から通知が届きます。
複数のサービスと連携でき、グループでも通知を受信することが可能です。LINE Notifyと連携を行うことで、LINEユーザーが簡単にサービスの通知を受信できるようになります。
LINE アカウントの作成と LINE Notify のサービス登録
LINE アカウントの作成
割愛します。
LINE Notify のサービス登録
- アカウントを作成したら、LINE Notify 公式サイトにアクセスして LINE アカウントでログインします。その際、LINE アカウントに登録されているメールアドレスでログインとなりますので、事前に登録が必要です。
- LINE Notify 登録サービス管理ページより、サービス名やサービス概要などの必要事項を入力し、サービスを登録します。
- LINE Notify マイページより、トークン名と通知を送信するトークルームを指定し、アクセストークン情報を取得します。アクセストークン取得後、トークルームの友だちに LINE Notify が登録されます。
メールアドレスの登録は、以下のサイトをご参照下さい。
LINE Notify を利用し、メッセージを送信
import requests
url = "https://notify-api.line.me/api/notify"
access_token = 'xxxxxxxxxxxxxxxx'
class LineNotify:
def __init__(self, url, access_token):
self.url = url
self.headers = {'Authorization': 'Bearer ' + access_token}
def send_message(self, message, image=None, sticker_package_id=None, sticker_id=None):
payload = {
'message': message,
'stickerPackageId': sticker_package_id,
'stickerId': sticker_id
}
files = {}
if image != None:
files = {'imageFile': open(image, 'rb')}
r = requests.post(
self.url,
headers=self.headers,
data=payload,
files=files
)
## メイン
if __name__ == '__main__':
bot = LineNotify(url, access_token)
bot.send_message('このメッセージはテストです。')