iT邦幫忙

0

想用Google Apps Script製作line bot關鍵字回應

  • 分享至 

  • xImage

這是我從Youtube上找到的語法

function doPost(e) {
//認證身份,重新輸入line@ channel_access_token
var CHANNEL_ACCESS_TOKEN = '094ZD2LgJKTe7e7ZZBOFeeS0PO8Ke3EWvmobSDDV3vzQz2d2EkYg/XvUT6pBwmOuHJBr1VWTq3TqkFX9DLI9i09nWsMzxIve8DqMZ5V9mhOErTzIx3vBFFk4tPvKf3dOHOEcuDR148jrQVAjTzjrdAdB04t89/1O/w1cDnyilFU=';
var msg= JSON.parse(e.postData.contents);

//除錯用
Logger.log(msg);
console.log(msg);

//從接收到的訊息中取出 replyToken 和發送的訊息文字
var replyToken = msg.events[0].replyToken;
var userMessage = msg.events[0].message.text;

if (typeof replyToken === 'undefined') {
return;
};

//定義回傳訊息
var reply_message=[{
'type': 'text',
'text': '您好'
}];

//回傳訊息給line 並傳送給使用者
var url = 'https://api.line.me/v2/bot/message/reply';
UrlFetchApp.fetch(url, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': replyToken,
'messages': reply_message,
}),
});
}

想要改成不同關鍵字回不同訊息,請問要如果改

感謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
微笑
iT邦研究生 5 級 ‧ 2021-03-15 13:49:51
...

if (typeof replyToken === 'undefined') {
return;
};

let returnMessage;

switch(userMessage)
{
    case 'test1':
        returnMessage = '使用者說了test1';
        break;
    case 'test2':
        returnMessage = '使用者說了' + userMessage;//使用者說了test2
        break;
    default:
        returnMessage = '您好';
        break;
}

//定義回傳訊息
var reply_message=[{
'type': 'text',
'text': returnMessage
}];

...

p.s.沒想過GAS可以拿來當Line Bot後台,挺酷的
不過用GAS的話,可以使用的library支援相對受限
也綁住了IDE,整體文件可能比較難整理美觀
建議還是用傳統後端語言寫出檔案,搭配託管平台較佳

0
arguskao
iT邦新手 4 級 ‧ 2022-06-15 15:24:59

我也想知道

我要發表回答

立即登入回答