実現したいこと
LINEとスプレッドシートを連携しています。LINEで回答されたアンケートの内容毎に返答内容を変えたいと思っています
- bot.replyMessageをアンケートの項目毎に変更したい
前提
下記のページを参考にコードを作成しました。
https://fuku-fk.com/line-bot-questionnaire/
現在は、アンケートのどの項目を選択しても、下記が出るようになっています
bot.replyMessage(e, [bot.textMessage(`ご回答ありがとうございます`)]);
それをif文を使いアンケートの回答毎に異なる回答をしたいと思い
下記コードを記入しましたが、うまく出ませんでした。
既存のコード
function doPost(e) { bot.call(e, callback) }; function callback(e) { if (bot.bool(e, "message", "text")) { question(e); } else if (e.type == "follow") { question(e); } else if (e.type == "postback") { const postbackData = e.postback.data; if (["会員", "非会員", "その他"].includes(postbackData)) { const cells = sheet.createTextFinder(e.source.userId).findAll(); if (cells.length == 0) { sheet.appendRow([e.source.userId, postbackData]); } else { cells[0].offset(0, 1).setValue(postbackData); } if (bot.bool(e, "message", "text", "会員")) { bot.replyMessage(e, [bot.textMessage(`ご回答ありがとうございます。会員で登録しました`)]); } if (bot.bool(e, "message", "text", "非会員")) { bot.replyMessage(e, [bot.textMessage(`ご回答ありがとうございます。非会員で登録しました`)]); } if (bot.bool(e, "message", "text", "その他")) { bot.replyMessage(e, [bot.textMessage(`ご回答ありがとうございます。その他で登録しました`)]); } } } };
該当のソースコード
if (bot.bool(e, "message", "text", "会員")) { bot.replyMessage(e, [bot.textMessage(`ご回答ありがとうございます。会員で登録しました`)]); } if (bot.bool(e, "message", "text", "非会員")) { bot.replyMessage(e, [bot.textMessage(`ご回答ありがとうございます。非会員で登録しました`)]); } if (bot.bool(e, "message", "text", "その他")) { bot.replyMessage(e, [bot.textMessage(`ご回答ありがとうございます。その他で登録しました`)]); }
試したこと
上記該当コードが、message,"text"で記載されているのが、違うような気がするのと、if文が違うような気がしますが、初心者の為書き方がよくわからずです。
どなたか教えていただければと思います。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/09/18 05:03