介绍
我能够创建类似于 LINEbot 原型的东西,所以
省略 LINE 部分,只留下 GAS 脚本部分
你想做的事
- 在 GAS 脚本表上写下预期的响应列表
- 如果回复列表中有匹配的单词,则接收来自用户的消息并返回回复。
气体电子表格
脚本的内容
令牌是敏感信息,所以我屏蔽了它。如果您收到不在响应列表中的消息,只需返回“晚安”。
function doPost(e) {
var event = JSON.parse(e.postData.contents).events[0];
var replyToken= event.replyToken;
if (typeof replyToken === 'undefined') {
return;
}
var url = 'https://api.line.me/v2/bot/message/reply';
var channelToken = '**********';
if(event.type === "message"){
var text = event.message.text;
var res_word = vlookup(text)
if(!res_word){
var messages = [{
'type': 'text',
'text': 'こんばんわ'
}];
} else{
var messages = [{
'type': 'text',
'text': res_word
}];
}
}
UrlFetchApp.fetch(url, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + channelToken,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': replyToken,
'messages': messages,
}),
});
return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}
function vlookup(req_word) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var rows = sheet.getLastRow()-1;
var datas = sheet.getRange(2,1,rows,2).getValues();
//連想配列に変換
var object = {}; //連想配列の箱を用意
for(var i=0; i<datas.length; i++){ //各行のデータを連想配列に格納
var key = datas[i][0];
var value = datas[i][1];
object[key] = value;
}
return object[req_word];
}
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308627167.html