2026年10月27日 星期二

進階 LINE 智能客服(5):使用 Flex Message 打造精美的互動式選單

在前面的教學中,我們的 LINE 機器人已經學會了根據使用者的關鍵字,從 Google 試算表中動態找出對應的「純文字」回覆。然而,純文字有時候略顯單調。如果你想傳送圖文並茂的商品資訊、附帶按鈕的導覽選單,甚至是輪播卡片,那就必須學會 LINE Messaging API 中最強大的功能——Flex Message。

2026年10月26日 星期一

進階 LINE 智能客服(4):從 Google 試算表動態讀取回覆題庫


在上一篇教學中,我們為 LINE 機器人加入了 if-else 邏輯判斷,讓它能根據關鍵字回覆不同內容。但是,如果每次要新增或修改客服問答,都必須打開 Google Apps Script (GAS) 修改程式碼,不僅麻煩,對非技術背景的維護人員來說門檻也很高。今天,我們將實作一個更靈活的架構:讓機器人直接讀取 Google 試算表中的 QA 題庫來回覆使用者!

1. 為什麼要將題庫建立在試算表中?

將「程式邏輯」與「資料內容」分離,是系統開發的重要觀念。透過這個實作,未來你的團隊或小編只需要在 Google 試算表中新增一列「關鍵字」與「回覆內容」,機器人就會立刻學會新的問答,達到真正的動態維護與零程式碼更新。

2. 準備你的 QA 題庫試算表

  • 打開我們之前建立的 Google 試算表,新增一個工作表,命名為 「QA題庫」。
  • 在 A 欄 設定為「關鍵字」(例如:填寫 營業時間),在 B 欄 設定為「回覆內容」(例如:填寫 平日 09:00 - 18:00)。
  • 紀錄這份試算表的 ID,我們將在程式碼中呼叫它。

2026年10月25日 星期日

進階 LINE 智能客服(3):加入關鍵字邏輯判斷,讓機器人聰明回覆


在先前的教學中,我們成功讓 LINE 客服機器人學會了「回覆訊息」與「將對話自動記錄到 Google 試算表」。然而,一個實用的客服系統,必須要能針對客戶的具體問題提供解答。今天,我們就要為機器人加上「大腦」,透過條件邏輯判斷 (Conditional Logic),讓它能根據使用者的特定關鍵字(例如:營業時間、運費、地址)自動給出不同的回覆!

1. 關鍵字回覆的運作原理

當使用者在 LINE 發送訊息後,我們的 Google Apps Script (GAS) 後端會收到這串文字。接下來,我們會透過程式碼中的 if-else 分支或 switch 陳述式,檢查這串文字中是否包含特定的「關鍵字」:

  • 比對成功: 如果訊息包含「營業時間」,就回覆「我們的營業時間是...」。
  • 模糊比對: 除了精準比對,我們也可以利用 JavaScript 的 indexOf() 或 includes() 方法,只要使用者的話裡含有關鍵字(例如:「請問運費怎麼算」含有「運費」),就能觸發相對應的回覆。
  • 未知問題(預設回覆): 如果比對不到任何關鍵字,則轉為親切的預設回覆,引導使用者或通知人工客服。

LINE Messaging API 實作:Python 推播、Webhook 與 ESP32 應用(下)

上篇我們完成了 LINE Messaging API 的申請與設定,並用 curl 發出第一則推播。這一篇改用 Python 把它變成可以重複使用的程式,內容包括:

  • 用 Python 推播訊息(取代舊的 LINE Notify 寫法)
  • 建立 Webhook 伺服器,接收使用者訊息並回覆
  • 取得 Group ID,推播到群組
  • 實務應用:ESP32 感測器異常時,自動推播到 LINE

還沒看上篇的讀者,請先完成上篇的設定,並準備好 Channel access token、Channel secret 與你的 User ID。

2026年10月24日 星期六

LINE Messaging API 實作: 申請與第一則推播(上)

LINE Notify 已在 2025 年 3 月 31 日終止服務,先前介紹的 LINE Notify 權杖申請與 Python 推播方式已經無法使用。LINE 官方建議的替代方案是 LINE Messaging API,不只能推播通知,還能做雙向互動的聊天機器人。

本系列分成上、下兩篇:

  • 上篇(本文):申請與設定,取得 Channel access token 與 User ID,並用 curl 完成第一則推播測試。
  • 下篇:以 Python 與 Google Apps Script 實作推播、Webhook 回覆、群組推播,以及搭配 ESP32 感測器的應用。

進階 LINE 智能客服(2):自動將使用者訊息記錄到 Google 試算表

在上一篇文章中,我們學會了如何透過 Google Apps Script (GAS) 建立一個簡單的 LINE 回音機器人。然而,對於一個真正的客服系統來說,只有「回覆」是不夠的,我們還需要將客戶的問題、建議與對話紀錄保存下來,以便後續追蹤或進行數據分析。今天,我們就要將 LINE 客服與雲端免費的強大資料庫——Google 試算表 (Google Sheets) 完美結合。

1. 為什麼要使用 Google 試算表當作資料庫?

在初期建置系統時,比起租用與維護傳統關聯式資料庫 (如 MySQL),Google 試算表不僅完全免費,而且具備直覺的圖形化介面。客服人員可以直接打開試算表查看最新的客訴紀錄,甚至利用內建的篩選、圖表功能來進行簡單的客情分析,是輕量級專案的最佳選擇。

2026年10月21日 星期三

打造專屬的 LINE 智能客服(1):LINE Messaging API 基礎應用與架構解析


在台灣,LINE 已經是每個人日常生活中不可或缺的通訊軟體。對於企業、商家甚至是學校單位來說,將傳統的客服與諮詢系統轉移到 LINE 平台上,不僅能大幅提升使用者的便利性,也能透過自動化程式減輕維運負擔。今天我們就來探討,如何運用程式開發技術,打造專屬的 LINE 智能客服。

1. 為什麼選擇 LINE 作為自動化客服平台?

相較於傳統的網頁表單或電子郵件,LINE 具有「高黏著度」與「即時互動」兩大優勢。透過建立 LINE 官方帳號 (LINE Official Account),結合後端的程式邏輯,系統可以在第一時間自動回覆常見問題(FAQ)、處理報修查詢,甚至主動推播重要通知,實現 24 小時不間斷的服務。

2. 核心技術架構:Webhook 的事件觸發機制

要讓 LINE 官方帳號具備「思考」與「互動」的能力,我們需要藉助 LINE Messaging API。其核心運作原理如下:

  • 使用者傳送訊息: 當使用者在 LINE 客服視窗輸入文字時,LINE 伺服器會接收到這個動作。
  • 觸發 Webhook: LINE 伺服器會將收到的事件(包含使用者 ID、訊息內容等),以 JSON 格式透過 HTTP POST 傳送到我們事先設定好的 Webhook 網址。
  • 後端程式處理與回覆: 我們的後端伺服器(可以使用 Python 搭配 Flask/Django,或是更輕量級的 Google Apps Script)解析訊息後,根據邏輯產生回覆內容,再透過 API 傳回給該使用者。

Firebase 專案建立與新增即時資料庫(下)

新增Firebase 即時資料庫 

在Firebase 中建立專案後,就可以開始在專案中新增即時資料庫。
展開[建構]選單,點選[Realtime Database]。

按下[建立資料庫]按鈕。

2026年10月11日 星期日

Firebase 專案建立與新增即時資料庫(上)


Firebase是Firebase,Inc.在2011年發布的行動和網路應用程式開發者平台,在2014年被Google收購。截至2020年3月,Firebase平台擁有19項產品,它們被超過150萬個應用程式採用。(維基百科) 
 Firebase 即時資料庫是一個雲託管資料庫。資料以 JSON 格式存儲並實時同步到每個連接的客戶端。當使用 Apple 平台、Android 和 JavaScript SDK 構建跨平台應用程序時,所有客戶端可共享一個即時資料庫並自動接收最新資料的更新。 

2026年9月29日 星期二

使用後端程式來進行 LINE Notify 訊息推播(Python + Google Apps Script)


LINE Notify 是 LINE 的一項免費訊息推播服務,可以讓程式設計者或系統管理者用程式發送 LINE 訊息至指定的聊天室。

在上一篇 LINE Notify 權杖申請與取用 的文章中已詳細說明如何進行LINE Notify的申請與使用,但LINE Notify 無法直接透過網頁前端的方式來發送訊息,所以以下是一個簡單使用 Python 來推播訊息的例子。


編寫 Python 程式碼如下:
import requests

# LINE Notify 權杖
LINE_token = '你的權杖'

# 要推播的訊息
LINE_message = '這是用LINE Notify推播訊息測試'
message = {'message': LINE_message}

# 設定HTTP 標頭參數把LINE Notify 權杖帶入
headers = { "Authorization": "Bearer " + LINE_token }

# 以 requests 發送 POST 請求
requests.post("https://notify-api.line.me/api/notify", headers = headers, data = message)

2026年9月20日 星期日

LINE Notify 權杖申請與取用

LINE Notify 申請與使用 LINE 官方有一個特殊的 LINE Notify 帳號 (@linenotify),是一個 LINEBot 機器人專門用來發送訊息的服務帳號,讓用戶可以透過LINE接收GitHub、IFTTT及Mackerel等網站服務的訊息提醒。 

 訊息接收者不需要事先加入LINE Notify 帳號,只要有訂閱任何一個 LINE Notify 通知服務就會收到訊息。任何 LINE 用戶都可以成為服務提供者(訊息推播者),可以發送推播訊息給任何人。 

 LINE Notify 存取權杖申請 

要使用 LINE Notify 推播訊息必須先取得 LINE Notify 存取權杖。開啟 LINE Notify 的網站https://notify-bot.line.me/zh_TW/ ,並使用自己的 LINE 帳號登入。

2026年9月4日 星期五

物聯網雲端平台: Adafruit.IO 應用3 _取用金鑰與記錄物聯數據

在之前各單元已經學習過如何利用 ESP8266  MicroPython 網路HTTP傳輸 、 ESP8266 MicroPython 無線基地台連線、 Adafruit.IO 服務平台的申請使用,現在就來將這些相關學習串連起來。

本實作將利用ESP8266建立無線網路連線將DHT11溫溼度模組所取得的溫濕度資料上傳到  Adafruit.IO 服務平台上加以記錄。

2026年8月24日 星期一

物聯網雲端平台: Adafruit.IO 應用2 _建立儀錶板與圖表區塊

順利完成 Adafruit.IO 免費帳號申請與新增FEED資料記錄欄位後,接著就可新增儀表板,所謂的儀表板其實就是將FEED資料記錄欄位內的資料由平凡的數字轉換成圖表來顯示。

先點選 IO-->Dashboards 頁籤。再點選畫面中的 New Dashboard 按鈕。

2026年8月17日 星期一

物聯網雲端平台: Adafruit.IO 應用1 _帳號申請與新增 FEED

Adafruit IO是一個免費/付費的IoT平台,提供數據雲端化、圖像化的服務整合讓使用者自由定義傳輸上去的資料內容,只要完成註冊並新增FEED就可以建立儀表板來新增折線圖表,例如將物聯感測器的數據上傳並顯示統計圖表。

 Adafruit IO除了支援MQTT(S)、HTTP(S)、WebSocket外,也提供多樣化的API供使用者使用,大部分程式語言都可以透過HTTP或MQTT協定對AdafruitIO存取。

申請Adafruit.IO 帳號
進入Adafruit.IO官網,點選右上角的 Get Started for Free 的連結,進入註冊畫面。

2026年7月30日 星期四

利用雲端平台 ThingSpeak 記錄物聯數據

在之前各單元已經學習過如何利用 ESP8266  MicroPython 網路HTTP傳輸 、 ESP8266 MicroPython 無線基地台連線、ThingSpeak服務平台的申請使用,現在就來將這些相關學習串連起來。

本實作將利用ESP8266建立無線網路連線將DHT11溫溼度模組所取得的溫濕度資料上傳到 ThingSpeak 服務平台上加以記錄。

 [模組材料] 
1. 8266 D1 mini x 1 
2. DHT11溫溼度測量模組 x1 
3. 杜邦連接線 x 3條

2026年7月13日 星期一

物聯網雲端平台: ThingSpeak

ThingSpeak是用Ruby編寫的開源軟件,允許用戶與啟用Internet的設備進行通信。它通過為設備和社交網絡網站提供API來促進數據訪問,數據檢索和數據記錄。ThingSpeak最初由ioBridge在2010年推出,作為支持IoT應用程序的服務。 (維基百科)

ThingSpeak 提供非商業使用的免費雲端服務,提供物聯網相關裝置的訊息紀錄之用,物聯裝置的免費商業使用限制訊息發送間隔必須大於15秒以上。

想使用平台服務當然得先加入會員,前往 ThingSpeak 首頁,按下左上角的人像圖形按鈕進入登入畫面,如下圖左,在按下其中的  Create one! 即可開始填寫會員加入資料,如下右圖。


2026年6月28日 星期日

使用IFTTT觸發服務以Email傳送天氣資料

在之前各單元已經學習過如何 利用 ESP8266 MicroPython 取得氣象網站的天氣開放資料 、 ESP8266 MicroPython 網路HTTP傳輸 、 ESP8266 MicroPython 無線基地台連線 配合IFTTT 服務平台得申請使用,現在就來將這些相關學習串連起來。

本實作將利用ESP8266建立無線網路連線取得 openweathermap 氣象網站的資料,並將相關的項資料透過 IFTTT 服務平台將天氣資料透過 EMail 寄送給特定對象。


2026年6月8日 星期一

建立 IFTTT 觸發程式與服務測試 (下)

當IFTTT上的小程序  Applets建立完成後,要應用 WebHooks 服務還得取得 WebHooks 金鑰。 
 回到 IFTTT並登入,選擇 My Applet 。

2026年5月30日 星期六

建立 IFTTT 觸發程式與服務測試 (上)


IFTTT 的 Applet 是一個小程序,能將兩個或多個應用程序或設備連接在一起。 Applet 將兩個或多個應用程序或設備連接在一起。它是兩個服務之間的自動化或集成/連接,使您能夠做這些服務無法自行完成的事情。 小程序由觸發器和動作組成,觸發器告訴 Applet 開始,動作是 Applet 運行的最終結果。

在本範例中將使用HTTP請求為觸發,並以寄送EMAIL的程序做為 Applet。

在開始建立程序之前,請先完成IFTTT的登入動作。

2026年5月4日 星期一

IFTTT 申請


IFTTT,是一個新生的網絡服務平台,通過其他不同平台的條件來決定是否執行下一條命令,即對網絡服務通過其他網絡服務作出反應。

IFTTT Agent 採用了目前最受歡迎的網路自動化服務-IFTTT ( If This Then That ),能自由地將 NAS 與手機裝置或喜愛的 App 結合,像是:Facebook、Gmail™、Twitter 等,量身訂做一個個 NAS 或物聯網服務,自動執行備份或監控等眾多任務。

IFTTT 讓使用者能指定某個網路服務A(Channel A)在發生某個條件後,觸發(trigger)另一個網路服務B(Channel B)進行某個反應行動(Action),這整個流程就被稱為一個自動化任務(Recipe)。

熱門文章