W1
W2
function push(){
UrlFetchApp.fetch('https://api.line.me/v2/bot/message/push', {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + 'access token',
},
'method': 'post',
'payload': JSON.stringify({
'to': 'Your LineUserId',
'messages': [{
'type': 'text',
'text': '你是不是吃飽太閒啊!',
}],
}),
});
}
W3
算命先生
W4
機器人實作計畫表
var replymesg = "";
if(userMessage.search('自介') > -1 ){
replymesg = "我是有禮貌21545";
}
if(userMessage.search('吃啥') > -1 ){
replymesg = "吃你自己" + replymesg ;
}
var lucky = [];
lucky[0] = "你今天很雖";
lucky[1] = "今天氣勢很旺適合表白";
lucky[2] = "小心學長姐";
lucky[3] = "很久沒聯絡的朋友會出現";
if(userMessage.search('運氣') > -1 ){
var luckynum = Math.floor(Math.random()*3);
replymesg = lucky[luckynum] + replymesg;
}
//存資料進資料表某列的 1 ~ 3 欄
var sheet_log = SpreadsheetApp.openById('id').getSheetByName('21546');
var lastrow = sheet_log.getLastRow();
sheet_log.getRange(lastrow + 1, 1 ).setValue(usermesg);
sheet_log.getRange(lastrow + 1, 2 ).setValue("吃飯");
// 取出
var historymesg = sheet_log.getRange(lastrow , 1 ).getValue();
historymesg = historymesg + "-" + sheet_log.getRange(lastrow - 1 , 1 ).getValue();
historymesg = historymesg + "-" + sheet_log.getRange(lastrow - 2 , 1 ).getValue();
var CHANNEL_ACCESS_TOKEN = '';
var MsgArr = [];
var TextTemp = {
"type": "text",
"text": "您好!"
}
var StickerTemp = {
"type": "sticker",
"packageId": 1,
"stickerId": 1
}
var YNBottonTemp = {
"type": "template",
"altText": "this is a confirm template",
"template": {
"type": "confirm",
"actions": [
{
"type": "postback",
"label": "是的",
"data": "userY"
},
{
"type": "postback",
"label": "不用理我",
"data": "userN"
}
],
"text": "Do you want to participate in the event now ? "
}
}
function doPost(e) {
var msg = JSON.parse(e.postData.contents);
console.log(msg);
// 取出 replayToken
var replyToken = msg.events[0].replyToken;
// 取出事件類型,以識別是使用者按了按鈕(postback)還是打了字(或貼圖)
var EventsType = msg.events[0].type;
if (typeof replyToken === 'undefined') {
return;
}
//如果使用者沒按YNBottonTemp模板中的"不要理我"(亦即按了"是的"按鈕)
if(EventsType == 'postback' && msg.events[0].postback.data !== "userN"){
//把暗藏在原BottonTemp yes按鈕的text回應給使用者
TextTemp.text = msg.events[0].postback.data;
MsgArr.push(TextTemp);
}else{
var MsgType = msg.events[0].message.type;
var userMessage = msg.events[0].message.text;
if(MsgType == 'sticker'){
TextTemp.text = "暫時看不懂貼圖喔~";
MsgArr.push(TextTemp);
}else if(MsgType == 'text'){
//偵測關鍵字並做出回應
if(userMessage.search('kkbike')>=0){
YNBottonTemp.template.actions[0].data = 'kk腳踏車';
YNBottonTemp.template.text = '請問你知道kkbike是誰嗎?';
}
//以Yes按鈕預設文字是否更新來判別是否有偵測到關鍵字
if(YNBottonTemp.template.actions[0].data !== 'userY'){
MsgArr.push(YNBottonTemp);
}else{
TextTemp.text = "看不懂哩~";
MsgArr.push(TextTemp);
}
}else{
TextTemp.text = "目前只看得懂文字喔~";
MsgArr.push(TextTemp);
}
}
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': MsgArr,
}),
});
}