LineBotの作り方(python)

LineBotを使って、自動でメッセージを送る方法。

1. (自作の)公式ラインアカウントを作成して送る方法
2. Line Notifyを使って、送る方法

の2種類がある。

1の方法は、よくある企業アカウントの様なイメージ。登録者全員に一斉にメッセージを送ることができる。
(サーバーを立てればメッセージに対する返信などもできるらしいが今回は省略)
(無料の枠だと1000通/月の制限がある)

2は設定した送付先(個人やグループ)に個別にメッセージを送付する。
(おそらく、上限はないはず)

公式ラインアカウントから送付する方法

事前準備

  1. LINE Officidal Account Managerにログインし、Bot用のアカウントを作る。
  2. LINE Developersにログインし、先ほど作ったアカウントのaccess_tokenとchannel_secretを取得する。
    1. コンソール画面をクリック
    2. 先ほど作ったBot用アカウントをクリック
    3. access_tokenは「Basic settings」、channel_secretは「Messaging API」タブから閲覧できる

ライブラリのインストール

pip install line-bot-sdk
from linebot import LineBotApi, WebhookHandler
from linebot.exceptions import InvalidSignatureError
from linebot.models import MessageEvent, TextMessage, TextSendMessage

# ラインbotのセッティング
access_token = "XXXXXXXXXXX"
channel_secret = "XXXXXXXXXXX"
line_bot_api = LineBotApi(access_token)
handler = WebhookHandler(channel_secret)

message = "メッセージを記入"

# メーセージを送付する
line_bot_api.broadcast(TextSendMessage(text=message))

LineNotifyを使って送付する

Line Notifyにログインし、tokenを取得する。
取得方法はこちらを参照

import requests

# Botのセッティング
line_notify_token = "XXXXXXXXXXXXX"
url = "https://notify-api.line.me/api/notify"

payload = {'message': message}
headers = {'Authorization': 'Bearer ' + line_notify_token} 

message = "メッセージを記入"

# メッセージを送付する
requests.post(url, data=payload, headers=headers)

参考

参考HP

関連書籍