Title1
Title2
Title3
Login
Link
Search
教學頻道
中信金融管理學院
點二下資訊社
新化社區大學
GAS+購物車開發
GAS專案
GAS+購物車開發
Google表單實戰電商購物車
GAS+LineBot開發
外帶內用管理
購物車管理
線上打卡系統管理
萬用表單5
LineBot 線上書籍
PHP專案
網站程式設計-PHP(10502)
網站程式設計-PHP
PHP SMARTY 樣板引擎
SMARTY樣板
課程教材
雲端工具入門
行動應用企劃人員養成班
萬用表單5
GAS+LineBot開發
研習
萬用表單5
鐵人賽-Google Apps Script整合運用
GAS+LineBot開發
樂齡3C學習不斷電
臺東專科學校
GAS 開發 LineBot 自動接單系統
德鍵
112行動應用企劃人員養成班
111網頁前端設計工程師培訓班
110網頁前端設計工程師培訓班
網頁前端設計工程師培訓班
old
網頁前端設計與開發運用培訓班
Javascript & JQUERY
免費釋出專案
萬用表單
自動資料查詢
台南社大
113-01-雲端工具入門
112-02-AI自動管理
112-01-用QRCODE打造自動化環境
110-01-用雲端打造自動化環境
用雲端打造自動化環境
Google雲端智慧王
讓雲端工具提昇工作效率
Google 速學工作術
台南市總圖
教你如何使用LINE Bot機器人增加工作效率
Google雲端工具基礎應用
Google雲端工具進階應用
工作自動化與行銷(台南社大)
全部教材
台南市人力發展中心
Google工具應用實務班
企業課程
鐳達實業有限公司
GAS研習-20200726
中正大學-GAS研習
將軍圖書館
Google雲端工具基礎應用
Google雲端工具進階應用
南方創客
GitHub 衍伸應用
Google 應用工作術
永康社大
用雲端打造自動化環境(110-春季班)
用雲端打造自動化環境
南關社大
電腦、手機生活應用
遠端桌面
公司業務
傳送檔案
adwcleaner
W10 更新
客戶網站
最近完工
深雋設計有限公司
新化社大校務系統
靚品科技有限公司
5C Precision Co., Ltd.
BALANCE 1
RWD網站
東北關廟麵
曼馱有限公司
永宸昕有限公司
昌美實業社
形象網站
勇信機械有限公司
GAS專案
聯絡我們&案件委託
所有書籍
「GAS 開發 LineBot 自動接單系統」目錄
MarkDown
3. LINE Messaging API訊息推送&回覆
1. Line Bot申請&設定
1-1 Line Bot申請
1-2 Line Bot 設定
2. GAS產生器安裝&設定
2-1 Line Bot測試
2-2 分析Line Bot 送來的資料
2-3 做一隻卡米狗
2-4 Webhook(e)
2-5 文字訊息
2-6 圖片訊息
2-7 flex
2-8 carousel
3. LINE Messaging API訊息推送&回覆
3-1 回覆
3-2 推播
4. 後台程式建立與管理
4-1 建立商品管理
4-1-1 商品資料處理
4-2 建立訂單管理
4-2-1 訂單資料處理
4-2-2 判斷是否為好友
4-2-3 新增訂單
4-2-4 完成訂單
4-3 取得用戶資料
4-4 取得群組資料
4-5 取得群組中的用戶數
4-6 取得Line Bot 資訊
5. 全域變數
5-1 顯示 Line Bot 資訊
6. Imgur 免費圖片空間
7. 上課步驟程式碼
3-2 推播
GAS 開發 LineBot 自動接單系統 ===================== ### 回覆
官方文件
:
[
https://developers.line.biz/en/docs/messaging-api/sending-messages/#reply-messages
](https://developers.line.biz/en/docs/messaging-api/sending-messages/#reply-messages) messages:
最多5則訊息
```javascript curl -v -X POST https://api.line.me/v2/bot/message/reply \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {channel access token}' \ -d '{ "replyToken":"nHuyWiB7yP5Zw52FIkcQobQuGDXCTA", "messages":[ { "type":"text", "text":"Hello, user" }, { "type":"text", "text":"May I help you?" } ] }' ``` ### ### GAS
lineMessage(botData)
```javascript /**======================================== 用戶傳送訊息給聊天機器人 =========================================*/ function lineMessage(botData) { const botMessageType = botData.events[0].message.type; // 判斷訊息是否為文字 if (botMessageType === 'text') { // 用戶聊天訊息內容 const botMessageText = botData.events[0].message.text; // 用戶訊息的來源 const source = botData.events[0].source; // 用戶 token const replyToken = botData.events[0].replyToken; // --------------------------------- 文字訊息(最多5組) let messages = [{ 'type': 'text', 'text': botMessageText }]; //---------------------------------- 圖片訊息(最多5組) // let messages = [ // { // "type": "image", // "originalContentUrl": "https://i.imgur.com/Fn9gu0q.png", // "previewImageUrl": "https://i.imgur.com/Fn9gu0q.png" // } // ]; //---------------------------------- 文字+圖片訊息(最多5組) // let messages = [ // { // 'type': 'text', // 'text': botMessageText // }, // { // "type": "image", // "originalContentUrl": "https://i.imgur.com/hwvXBjq.png", // "previewImageUrl": "https://i.imgur.com/hwvXBjq.png" // } // ]; //---------------------------------- flex(訂單完成) // let messages = [{ // "type": "flex", // "altText": "訂單完成",//訊息副標題 // "contents": flexTemplate() // }]; //---------------------------------- carousel(商品展示) // let messages = [{ // "type": "flex", // "altText": "商品展示",//訊息副標題 // "contents": { // "type": "carousel", // "contents": carouselTemplate() // } // }]; // 調用函數 lineReplyMessage(replyToken, messages); } } ```
lineReplyMessage(replyToken, replyMessage)
```javascript /*============================================ Line Bot 回覆 ============================================*/ function lineReplyMessage(replyToken, replyMessage) { //-----------------------------------回傳訊息給line 並傳送給使用者 let url = 'https://api.line.me/v2/bot/message/reply'; try { UrlFetchApp.fetch(url, { 'headers': { 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, }, 'method': 'post', 'payload': JSON.stringify({ 'replyToken': replyToken, 'messages': replyMessage }), }); } catch (e) { //---------------------------------- 記錄Line Bot 回覆 錯誤訊息 let formData = { sn: '', timestamp: '', type: 'Line Bot 回覆 錯誤訊息', code: e } insert_sheet_record(formData); //---------------------------------- 記錄Line Bot 回覆 錯誤訊息 end } //---------------------------------------回傳訊息給line 並傳送給使用者 end } ``` ### ```javascript /*============================================ flexTemplate https://developers.line.biz/flex-simulator/ ============================================*/ function flexTemplate() { // let order = { // sn: '', // date: '', // userId: 'userId', // group: 'group', // name: 'xxx', // prod_sn: 'prod_sn', // title: 'Brown Cafe', // unit: '個', // price: 200, // amount: 3, // total: 600, // pic: 'https://scdn.line-apps.com/n/channel_devcenter/img/fx/01_1_cafe.png' // } let content = 'xxx 您好,您的訂購資料:' + '\n'; content += '商品單位: ' + '個' + '\n'; content += '商品單價: ' + '200' + ' 元\n'; content += '訂購數量: ' + '3' + '\n'; content += '合計金額: ' + '600' + ' 元\n'; let messages = { "type": "bubble", "hero": { "type": "image", "url": "https://scdn.line-apps.com/n/channel_devcenter/img/fx/01_1_cafe.png",//圖片 "size": "full", "aspectRatio": "20:13", "aspectMode": "cover" }, "body": { "type": "box", "layout": "vertical", "contents": [ { "type": "text", "text": "Brown Cafe",//標題 "weight": "bold", "size": "xl" }, { "type": "text", "text": content,//內容 "wrap": true, "color": "#666666", "size": "sm", } ] } } return messages; } ``` ###
carouselTemplate()
```javascript /**====================================== carousel 樣版 =======================================*/ function carouselTemplate(){ let messages = []; let title = '商品1' let content = '商品單位: ' + '個' + ' \n'; content += '商品單價: ' + '100' + '元\n'; content += '商品內容商品內容商品內容商品內容\n'; content += '商品內容商品內容商品內容商品內容\n'; content += '商品內容商品內容商品內容商品內容\n'; content += '商品內容商品內容商品內容商品內容\n'; content += '----------------------\n'; messages.push({ "type": "bubble", "size": "micro", "hero": { "type": "image", "url": "https://scdn.line-apps.com/n/channel_devcenter/img/flexsnapshot/clip/clip10.jpg",//圖片 "size": "full", "aspectMode": "cover", "aspectRatio": "320:213" }, "body": { "type": "box", "layout": "vertical", "spacing": "sm", "paddingAll": "13px", "contents": [ { "type": "text", "text": title,//標題 "weight": "bold", "size": "sm", "wrap": true }, { "type": "text", "text": content,//內容 "color": "#8C8C8C", "size": "sm", "wrap": true }, { "type": "box", "layout": "vertical", "contents": [ { "type": "button", "style": "link", "height": "sm", "action": { "type": "message", "label": '+1', //訊息標題 "text": '+1' + ' ' + title // 訊息內容 } }, { "type": "button", "style": "link", "height": "sm", "action": { "type": "message", "label": '+2', //訊息標題 "text": '+2' + ' ' + title // 訊息內容 } }, { "type": "button", "style": "link", "height": "sm", "action": { "type": "message", "label": '+5', //訊息標題 "text": '+5' + ' ' + title // 訊息內容 } } ] } ] } }); messages.push({ "type": "bubble", "size": "micro", "hero": { "type": "image", "url": "https://scdn.line-apps.com/n/channel_devcenter/img/flexsnapshot/clip/clip10.jpg",//圖片 "size": "full", "aspectMode": "cover", "aspectRatio": "320:213" }, "body": { "type": "box", "layout": "vertical", "spacing": "sm", "paddingAll": "13px", "contents": [ { "type": "text", "text": title,//標題 "weight": "bold", "size": "sm", "wrap": true }, { "type": "text", "text": content,//內容 "color": "#8C8C8C", "size": "sm", "wrap": true }, { "type": "box", "layout": "vertical", "contents": [ { "type": "button", "style": "link", "height": "sm", "action": { "type": "message", "label": '+1', //訊息標題 "text": '+1' + ' ' + title // 訊息內容 } }, { "type": "button", "style": "link", "height": "sm", "action": { "type": "message", "label": '+2', //訊息標題 "text": '+2' + ' ' + title // 訊息內容 } }, { "type": "button", "style": "link", "height": "sm", "action": { "type": "message", "label": '+5', //訊息標題 "text": '+5' + ' ' + title // 訊息內容 } } ] } ] } }); messages.push({ "type": "bubble", "size": "micro", "hero": { "type": "image", "url": "https://scdn.line-apps.com/n/channel_devcenter/img/flexsnapshot/clip/clip10.jpg",//圖片 "size": "full", "aspectMode": "cover", "aspectRatio": "320:213" }, "body": { "type": "box", "layout": "vertical", "spacing": "sm", "paddingAll": "13px", "contents": [ { "type": "text", "text": title,//標題 "weight": "bold", "size": "sm", "wrap": true }, { "type": "text", "text": content,//內容 "color": "#8C8C8C", "size": "sm", "wrap": true }, { "type": "box", "layout": "vertical", "contents": [ { "type": "button", "style": "link", "height": "sm", "action": { "type": "message", "label": '+1', //訊息標題 "text": '+1' + ' ' + title // 訊息內容 } }, { "type": "button", "style": "link", "height": "sm", "action": { "type": "message", "label": '+2', //訊息標題 "text": '+2' + ' ' + title // 訊息內容 } }, { "type": "button", "style": "link", "height": "sm", "action": { "type": "message", "label": '+5', //訊息標題 "text": '+5' + ' ' + title // 訊息內容 } } ] } ] } }); return messages; } ```