先說結論:不用寫程式,你也能做出自己的 LINE 聊天機器人
好,今天我們來聊聊怎麼做一個 LINE 的聊天機器人。嗯...很多人一聽到「機器人」或「API」,可能就覺得,啊,那是不是要寫很多程式、很複雜?其實...老實說,現在真的不用了。今天我主要就是想跟你分享,怎麼樣用完全免費、而且是圖形化、拖拉拽的方式,就能做出一個可以跟你互動的 LINE Bot。對,你沒聽錯,不用寫一行 code 就可以開始。
我自己是覺得,這對很多想做點小生意、或是想自動化處理一些訊息的人來說,真的...真的很實用。例如,你可以做一個小小的客服機器人,回覆常見問題,或者,像我一樣,拿來接收一些重要的通知。重點是,今天介紹的這個方法,從申請 LINE 帳號到把它跟自動化工具串起來,整個流程都是免費的。當然,免費有免費的限制,這個我們後面會聊到,但作為一個起點,絕對是綽綽有餘了。
我看了現在的教學,但他們好像都漏了這幾點
OK,在我們開始動手做之前,我想先講一下,為什麼我還要錄這篇...呃...寫這篇教學。我去看了一下,現在網路上的教學很多,真的很多,但大部分有幾個...嗯...我覺得對新手不太友善的地方。
第一個,很多教學還是太「工程師視角」了。它們會直接跳到教你怎麼申請 API,然後就開始貼程式碼...什麼 Python、Node.js...對於不懂程式的人來說,那根本就是天書,直接從入門到放棄。再來,有一些是教你用特定平台,但那些平台...很多是要付費的,或者說,免費版的功能限制得非常死,很難做出真正有點用的東西。
還有一個重點,他們很少講清楚「限制」。例如,LINE 官方帳號的免費方案,一個月到底可以發多少則訊息?超過了會怎麼樣? 很多人都是做到一半,或是上線了才發現,啊,原來訊息量這麼少,要升級了。特別是 LINE Messaging API 的免費方案,一個月只有 500 則「推播」訊息的額度,這個數字其實很少,但很多人都忽略了這一點。
所以,我今天會特別專注在一個...嗯...一個真正「從零開始、完全免費、而且不寫程式」的路徑。我們會用一個叫做 Make.com 的工具,它有點像是一個...呃...網路服務的黏著劑,可以把 LINE 跟很多其他東西(比如 Google Sheets)串在一起。然後,我也會很誠實地告訴你,這個免費路徑的極限在哪裡,讓你自己評估,這方法到底適不適用你的情況。
怎麼做?跟我一步一步來
好了,那我們就...實際來操作一次。整個過程大概可以分成三個...三大塊:第一,申請一個 LINE 的「官方帳號」並且打開它的「開發者模式」;第二,註冊一個 Make.com 的免費帳號;第三,把這兩者串起來。聽起來好像很多步驟,但跟著做,其實很快。
第一步:取得你的 LINE 開發者帳號跟 API 金鑰
這一步是整個過程的基礎。我們需要先有一個 LINE 官方帳號,然後把它「變身」成一個可以接收和發送訊息的機器人。這部分全部都是在 LINE 自己的平台上完成的。
首先,你要到 LINE Developers 這個網站。 你可以直接用你平常的 LINE 帳號登入。 登入之後,系統會請你建立一個「Provider」,這個你可以把它想像成是你的「開發者名稱」,填你自己的名字或公司名字都可以。
建好 Provider 之後,最重要的步驟來了:我們要建立一個新的「Channel」,然後在類型的地方,一定要選擇「Messaging API」。 點下去之後,它會引導你建立一個新的 LINE 官方帳號,或者連結到你已經有的帳號。這邊你需要填一些基本資料,像是機器人的頭像、名字、介紹等等。有一個欄位是 Plan,就是方案選擇,你可以先選免費的方案(Free Plan 或 Communication Plan)就夠用了。
建立完成後,你會進到這個 Channel 的後台。裡面會有很多資訊,但對我們今天來說,最重要的只有兩樣東西,你要把它們複製下來存好:
- Channel access token (long-lived):這個...這個就像是你的機器人的「密碼」,有了它,其他服務(像 Make.com)才能代表你的機器人發訊息。
- Webhook URL:這個欄位一開始是空的。Webhook 有點像是一個...嗯...通知機制。當有用戶傳訊息給你的機器人時,LINE 就會把訊息內容送到這個 URL 來。所以,等一下我們在 Make.com 設定好之後,會得到一個網址,再回來貼到這裡。
對了,還有一件事很重要。在「Messaging API」設定的頁面裡,你要確認「Webhook」是啟用的狀態,然後把下方的「自動回應訊息」(Auto-reply messages)關掉。 因為我們不想要 LINE 內建的那種制式回覆,我們想要的是...嗯...把訊息交給我們在 Make.com 上設計的流程來處理。
第二步:設定 Make.com,讓它成為機器人的大腦
OK,LINE 的部分暫時搞定了。現在我們來處理機器人的「大腦」。Make.com 是一個超強的自動化平台,它的好處是...它的免費方案非常大方,一個月有一千次的「操作」可以用,對我們這種小應用來說,非常夠了。
你先去 Make.com 網站註冊一個免費帳號。註冊好之後,登入進去,你會看到一個很大的按鈕,叫做「Create a new scenario」。 一個 Scenario,你可以把它想像成一條「自動化流程」。
點進去之後,你會看到一個空白的畫布。我們先來做最關鍵的一步:接收來自 LINE 的訊息。
- 建立 Webhook 觸發器:在畫布中間的「+」號上點一下,在搜尋框裡輸入「LINE」。你會看到 LINE 的圖示,點下去。接著,在觸發器(Triggers)列表裡,選擇「Watch Events」。這就是我們的 Webhook。
- 設定 LINE 連線:接下來,Make 會請你建立一個 Webhook。點「Add」,然後它會要你建立一個「Connection」。這時候,就把我們剛剛在 LINE Developers 後台複製的那個「Channel access token」貼上來。 這樣,Make 才能跟你的 LINE 機器人溝通。
- 取得 Webhook 網址:設定好連線後,Make 會給你一個獨一無二的網址。這就是我們夢寐以求的 Webhook URL!把它複製下來。
- 回到 LINE Developers 後台:回到我們剛剛 LINE Developers 的頁面,把這個網址貼到「Webhook URL」那個欄位裡,然後按下「Verify」或「Update」,並確保開關是啟用的狀態。
做到這裡,最困難的部分已經完成了!這代表,以後只要有人傳訊息給你的 LINE 機器人,LINE 就會把訊息乖乖地送到 Make.com 來。
第三步:建立第一個回覆流程!
大腦跟耳朵接上了,現在要教它怎麼「說話」。我們來做一個最簡單的「關鍵字回覆」機器人。例如,當用戶輸入「你好」時,我們就回覆「哈囉!有什麼可以幫你的嗎?」。
回到 Make.com 的畫布,在你的 LINE 觸發器模組旁邊,再新增一個模組。這次,我們一樣選擇 LINE,但是在動作(Actions)裡面,選擇「Send a Reply Message」。
點進去之後,你會看到它需要填幾個欄位:
- Reply Token:這個...這個你不用手動填。你可以直接從前面的 LINE 觸發器模組那邊,把一個叫做 `events[0].replyToken` 的變數拖拉過來。這個 Token 代表了「要回覆給誰」的資訊。
- Message:這就是你要回覆的內容。我們先簡單地打上一段文字,例如「哈囉!」。
這樣就設定好了。但...這樣不論使用者輸入什麼,它都會回覆「哈囉!」。所以我們要在中間加一個「篩選器」(Filter)。在兩個 LINE 模組中間的連線上,點一下,設定一個條件,例如:`events[0].message.text` 等於 `你好`。這樣,只有在使用者傳來的文字完全等於「你好」的時候,後面的回覆模組才會被執行。
最後,記得把左下角的開關(SCHEDULING)打開,這樣你的 Scenario 才會持續運作。恭喜你!你的第一個 LINE 聊天機器人已經完成了!你可以拿出手機,對你的機器人傳個訊息試試看了。
實際應用:不只是對話,還能串接 Google Sheets!
當然,只會回覆固定的話有點無聊。Make.com 強大的地方在於,它可以串接上千種服務。舉個例子,我們可以做一個簡易的「報名系統」或「問題紀錄器」。
你可以在剛剛的 Scenario 中,在 LINE 觸發器後面,接上一個「Google Sheets」的模組,選擇「Add a Row」這個動作。然後,把使用者傳來的訊息內容(`events[0].message.text`)、使用者 ID(`events[0].source.userId`)等資訊,分別填入到你預先建立好的 Google Sheet 表格的不同欄位裡。
這樣一來,所有跟機器人的對話紀錄,都會自動被存到 Google Sheets 裡面!這對於搜集使用者回饋、或是做一些簡單的數據統計,真的...真的非常方便。
方法比較:No-Code、自己寫 Code、還是用現成平台?
看到這裡,你可能會想,那這個方法跟其他方法比起來,到底好在哪裡、又差在哪裡?這個嘛...我整理了一個簡單的比較表,讓你參考一下。
| 比較項目 | LINE 內建功能 | No-Code 工具 (如 Make.com) | 自己寫程式 (Custom Code) |
|---|---|---|---|
| 技術門檻 | 超低。就是在後台設定關鍵字,沒什麼難的。 | 低。要懂一點邏輯概念,知道什麼是 Webhook,但...真的不用寫 code。 | 高。你要懂程式語言、API 串接,還要自己搞定伺服器。超麻煩。 |
| 彈性 | 很差。只能做固定的關鍵字回覆,沒辦法做複雜的判斷。 | 中高。可以串接幾千種服務,像 Google Sheets、Gmail,能玩的東西多很多。 | 無限大。只要你想得到、寫得出來,什麼功能都能做。 |
| 成本 | 基本上是免費的,除非你的訊息量大到要升級官方帳號方案。 | 起步免費。Make.com 的免費方案對一般人用很夠了,但流量一大,還是要錢。 | 浮動很大。從租用便宜的雲端主機到買很貴的伺服器,錢坑可深可淺。 |
| 維護難度 | 幾乎不用維護。設定好就放著。 | 低。介面很直覺,流程哪裡出錯,一點就看到了。 | 高。自己寫的 code 自己負責,出了 bug 就要自己熬夜 debug。 |
別高興得太早:免費方案的限制與提醒
好,前面講的都是美好的部分。但...就像我一開始說的,天下沒有白吃的午餐。這個完全免費的方案,還是有它...嗯...天生的限制在。
第一個,也是最大的限制,來自 LINE 本身。LINE 官方帳號的免費方案(Communication Plan),每個月只能「主動推播」(Push API)500 則訊息。 欸不對,我查到的日本資料是寫 200 則...嗯...啊,台灣這邊是輕用量(免費)方案,每月免費訊息則數為 200 則才對。 這個數字真的很重要。要注意的是,「回覆訊息」(Reply API),也就是使用者傳訊息來、你回覆他,這種一來一往的,理論上是不算在這 200 則裡面的。 但如果你想做的是每天定時發送天氣預報、或是做行銷推播,那很快就會用完了。
第二個限制,來自 Make.com。它的免費方案每月有 1000 個 operations(操作)。看起來很多,但你要知道,你的 Scenario 每執行一個「模組」,就算一個 operation。如果你的流程很複雜,例如「收到訊息 -> 存到 Google Sheet -> 再回覆訊息」,這樣一次互動就用掉 3 個 operations。所以,一個月大概也只能處理三百多次的互動,這點要有心理準備。
還有,以前有個很好用的工具叫 LINE Bot Designer,可以讓你...嗯...在電腦上預覽跟設計機器人的對話畫面,但那個東西...官方已經停止開發了,所以現在比較不推薦用了。 現在要做比較複雜的畫面,像是那種卡片式的 Flex Message,你可能還是得用官方提供的 Flex Message Simulator,然後把產生的 JSON 碼貼到 Make.com 裡面去,會稍微麻煩一點。
總之,這個方法非常適合...嗯...個人專案、小型商家、或是任何想「玩玩看」聊天機器人是什麼的人。但如果你的好友數很多,或是互動量非常大,那...老實說,你可能還是要考慮升級付費方案,或是找專門的平台服務了。
好,今天講得差不多了。希望這個教學對你有幫助。你自己是怎麼用 LINE 機器人的呢?或是你覺得有什麼更酷的應用?在下面留言分享一下吧!
