前提・実現したいこと
AWS Lambda上で稼働するNode.jsのプログラムをLineBOTでユーザーが入力する値を用いた
パチンコシミュレーターのプログラムを作りたいです。
発生している問題・エラーメッセージ
【出来ている事】
・パチンコシミュレーションをする部分のコードは出来上がっております。
・AWS LambdaとAPI Gatewayの設定、LINEBOTでの通知は出来ております。
【分からない点】
分からない事がLINEBOTがJSONでメッセージのやり取りを行う事は理解しており、
ユーザーが入力する値をどのようにコーディングするかが分かりません。
恐らくJSONで受ける部分となるbody.events[0].message.text(JSON.rarse(event.body)のコードです)が
関係するかと存じますが、ご教授いただければ幸いです。
何卒宜しくお願い致します。
該当のソースコード
Node.js
1'use strict'; 2const crypto = require('crypto'); 3const line = require('@line/bot-sdk'); 4const client = new line.Client({channelAccessToken: process.env.ACCESSTOKEN}); 5exports.handler = function (event, context) { 6 let signature = crypto.createHmac('sha256', process.env.CHANNELSECRET).update(event.body).digest('base64'); 7 let checkHeader = (event.headers || {})['X-Line-Signature']; 8 let body = JSON.parse(event.body); 9 if (signature === checkHeader) { 10 // lineの接続チェック用 11 if (body.events[0].replyToken === '00000000000000000000000000000000') { 12 let lambdaResponse = { 13 statusCode: 200, 14 headers: { "X-Line-Status" : "OK"}, 15 body: '{"result":"connect check"}' 16 }; 17 context.succeed(lambdaResponse); 18 } else { 19 let text = body.events[0].message.text; 20 let message; 21 var atariKakuritsuUser = [] 22 23 //ここの部分以降が分かりません。 24 if (body.events[0].message.text == "スタート"){ 25 message = { 26 "type": "text", 27 "text": "大当たり確率の分母を入力してください" 28 }; 29 30 }; 31 client.replyMessage(body.events[0].replyToken, message) 32 .then((response) => { 33 let lambdaResponse = { 34 statusCode: 200, 35 headers: { "X-Line-Status" : "OK"}, 36 body: '{"result":"completed"}' 37 }; 38 context.succeed(lambdaResponse); 39 }).catch((err) => console.log(err)); 40 } 41 }else{ 42 console.log('署名エラー'); 43 } 44};
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。