LINE聊天機器人製作教學:從免費工具到實作步驟完整指南

Published on: | Last updated:

先說結論:不用寫程式,你也能做出自己的 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 上設計的流程來處理。

LINE Bot 運作流程示意圖
LINE Bot 運作流程示意圖

第二步:設定 Make.com,讓它成為機器人的大腦

OK,LINE 的部分暫時搞定了。現在我們來處理機器人的「大腦」。Make.com 是一個超強的自動化平台,它的好處是...它的免費方案非常大方,一個月有一千次的「操作」可以用,對我們這種小應用來說,非常夠了。

你先去 Make.com 網站註冊一個免費帳號。註冊好之後,登入進去,你會看到一個很大的按鈕,叫做「Create a new scenario」。 一個 Scenario,你可以把它想像成一條「自動化流程」。

點進去之後,你會看到一個空白的畫布。我們先來做最關鍵的一步:接收來自 LINE 的訊息。

  1. 建立 Webhook 觸發器:在畫布中間的「+」號上點一下,在搜尋框裡輸入「LINE」。你會看到 LINE 的圖示,點下去。接著,在觸發器(Triggers)列表裡,選擇「Watch Events」。這就是我們的 Webhook。
  2. 設定 LINE 連線:接下來,Make 會請你建立一個 Webhook。點「Add」,然後它會要你建立一個「Connection」。這時候,就把我們剛剛在 LINE Developers 後台複製的那個「Channel access token」貼上來。 這樣,Make 才能跟你的 LINE 機器人溝通。
  3. 取得 Webhook 網址:設定好連線後,Make 會給你一個獨一無二的網址。這就是我們夢寐以求的 Webhook URL!把它複製下來。
  4. 回到 LINE Developers 後台:回到我們剛剛 LINE Developers 的頁面,把這個網址貼到「Webhook URL」那個欄位裡,然後按下「Verify」或「Update」,並確保開關是啟用的狀態。

做到這裡,最困難的部分已經完成了!這代表,以後只要有人傳訊息給你的 LINE 機器人,LINE 就會把訊息乖乖地送到 Make.com 來。

在 Make.com 中串接 LINE 與 Google Sheets
在 Make.com 中串接 LINE 與 Google Sheets

第三步:建立第一個回覆流程!

大腦跟耳朵接上了,現在要教它怎麼「說話」。我們來做一個最簡單的「關鍵字回覆」機器人。例如,當用戶輸入「你好」時,我們就回覆「哈囉!有什麼可以幫你的嗎?」。

回到 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 裡面!這對於搜集使用者回饋、或是做一些簡單的數據統計,真的...真的非常方便。

手機上實際與 LINE Bot 互動的畫面
手機上實際與 LINE Bot 互動的畫面

方法比較: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 機器人的呢?或是你覺得有什麼更酷的應用?在下面留言分享一下吧!

Related to this topic:

Comments

撥打專線 LINE免費通話