🐠

LineBotの作り方(python)

2022/06/18に公開

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)

参考

関連書籍

以上

Discussion