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, }), });}