Line bot を作成し、自動でメッセージを送受信する方法を解説します。
LINE Developersコンソールからチャネルを作成
下記手順を参考にLINE Developersコンソールからチャネルを作成します。
LINE Developersコンソールでチャネルを作成する
- LINE Developersコンソールへログイン
-
Messaging API
のチャンネルを作成
Webhook用のLambda関数を作成する
👇これより先は下記記事の内容を前提とします
REST API としてAWS Lambda関数を呼び出す
- Lambda関数はフックした内容をprint=ログ出力するのみとします。
import json
def lambda_handler(event, context):
print("event")
print(event)
return_data = {}
return {
'statusCode': 200,
'headers': {
'Access-Control-Allow-Origin': '*'
},
'body': json.dumps(return_data)
}
Webhookを設定する
下記手順を参考にWebhookを設定します。
Webhook URLを設定する
-
LINE Developersコンソールへログインし、Webhookへ設定します。
-
CloudWatchのログに'event:follow(お友達追加)'、'userID:ユーザID`が記録されることを確認します。
メッセージを送信する
メッセージ送信のため、チャンネルアクセストークンを取得
- チャネルアクセストークン
- 手っ取り早く
長期のチャネルアクセストークン
を取得します。 -
長期のチャネルアクセストークン
ユーザIDを指定してメッセージ送信
- 上記で確認したユーザIDを設定
- 上記で取得した
長期のチャネルアクセストークン
を設定 - メッセージを送信する
- プッシュメッセージを送る
import json
import urllib.request
main_logic()
def main_logic():
print("main_logic start")
access_token = "xxxx_access_token_xxxxxxxxxx"
url = "https://api.line.me/v2/bot/message/push"
method = "POST"
headers = {
'Authorization': "Bearer " + access_token,
'Content-Type': 'application/json'
}
messages = [
{
"type": "text",
"text": "テストメッセージです!!"
}
]
params = {
"to":"Uxxxxxsend_userid_XXXXXXXXXXXXXXXXXXX"
,"messages": messages
}
request = urllib.request.Request(url, json.dumps(params).encode("utf-8"), method=method, headers=headers)
with urllib.request.urlopen(request) as res:
body = res.read()
print(body)
👇前提記事
👇参考URL
- LINE Developersコンソールでチャネルを作成する
- LINE Developersコンソール
- LINE Official Account Manager
- Webhook URLを設定する
- チャネルアクセストークン
- 長期のチャネルアクセストークン
- メッセージを送信する
- プッシュメッセージを送る
[keywords]
AWS lambda Line linebot
更新日:2024年02月13日