線上書籍

Home

GAS 開發 LineBot 自動接單系統

結構
  1. 記錄LineBot:record_line_bot
  2. 商品關鍵字:prod_key
  3. CHANNEL_ACCESS_TOKEN:CHANNEL_ACCESS_TOKEN

{ form_label: '記錄LineBot', form_name: 'record_line_bot', form_sort: '', form_kind: '下拉選單', value_type: '文字', form_option: '|是', form_validate: '', form_width: 2, form_value: '', form_readme: '', form_fun: '', list_show: '', list_sort: '', list_align: '', list_width: '' }, { form_label: '商品關鍵字', form_name: 'prod_key', form_sort: 2, form_kind: '簡答', value_type: '文字', form_option: '', form_validate: '', form_width: 2, form_value: '訂購商品', form_readme: '', form_fun: '', list_show: '', list_sort: '', list_align: '', list_width: '' }, { form_label: 'CHANNEL_ACCESS_TOKEN', form_name: 'CHANNEL_ACCESS_TOKEN', form_sort: '', form_kind: '段落', value_type: '文字', form_option: '', form_validate: '', form_width: 12, form_value: '', form_readme: '', form_fun: '', list_show: '', list_sort: '', list_align: '', list_width: '' },

寫入:prog_global.gs / insert_global(formData) //----------------------------------------將「LineBot Info」寫入 指令碼屬性 CHANNEL_ACCESS_TOKEN = global["CHANNEL_ACCESS_TOKEN"]; SCRIPT_PROP.setProperty("LINE", JSON.stringify(getLineBotInfo()));

 

撈出:prog_global.gs / get_global() if(SCRIPT_PROP.getProperty("LINE") === null){ global['LINE'] = { userId:'', //機器人的用戶 ID basicId:'', //機器人的基本ID displayName:'', //機器人的顯示名稱 pictureUrl:'', //個人資料圖片網址 chatMode:'', //聊天模式 chat:響應模式設置為“聊天”。 bot:響應模式設置為“Bot”。 markAsReadMode:'' //標記為已讀模式 auto:啟用自動讀取設置。 manual:禁用自動讀取設置。 }; }else{ global['LINE'] = JSON.parse(SCRIPT_PROP.getProperty("LINE")); }

 

使用:程式碼.gs (需放在get_global 後面) //------------------------------------- 4. line bot(需放在get_global 後面) var CHANNEL_ACCESS_TOKEN = global["CHANNEL_ACCESS_TOKEN"]; prog_line_bot.gs / Webhook(e) //---------------------------------- 記錄Line Bot 訊息 if(global.record_line_bot === '是'){ // e.postData.contents 收到的 JSON 字串 故將之轉為 JSON JSON.parse(e.postData.contents) let formData = { sn: '', timestamp: '', type: 'prog_line_bot / Webhook()', code: JSON.parse(e.postData.contents) } insert_sheet_record(formData); } //---------------------------------- 記錄Line Bot 訊息 end

 

prog_line_bot.gs / lineMessage(botData) botMessageText === global.prod_key

 

在全域變數表單出現

prog_line_bot.gs / form_global(e)

//-------------------------------------------- Webhook網址 global.url + '?op=Webhook' let webhook = global.url.indexOf("/exec") != -1 ? ` <div>Webhook網址: <span class='text-danger'>${global.url}?op=Webhook</span></div> ` : ''; let basicId = global.LINE.basicId ? ` <div>官方網址:<span class='text-danger'>https://line.me/R/ti/p/${global.LINE.basicId}</span></div> ` : ''; let displayName = global.LINE.displayName ? ` <div>官方名稱:<span class='text-danger'>${global.LINE.displayName}</span></div> ` : '';

 

${webhook} ${basicId} ${displayName}