製作一個n8n LINE echo bot

更新於 發佈於 閱讀時間約 11 分鐘

n8n 是近年來非常熱門的自動化工具,能夠輕鬆整合各種服務,提升工作效率。

這篇教學將帶你用 n8n 打造一個 LINE echo bot——只要你在 LINE 上傳訊息給機器人,它就會原封不動地回覆你。例如,你傳「你好」,機器人就會回「你好」。

這個流程建立好之後,你可以依此基礎,進一步延伸出更多自動化應用。

雖然過程中會涉及一些程式基礎,但即使沒有程式經驗,只要照著步驟操作、複製設定內容或直接使用範例工作流,也能順利完成。 本教學以 LINE 英文管理介面為例,若你使用的是中文介面,對照操作也非常容易。

LINE設定流程

要註冊一個LINE Developers開發者帳戶

建立Provider:

Provider(服務提供者):指的是在 LINE Developers 平台上,提供服務並獲取用戶資料的個人、企業或組織。Provider 是一個管理單位,代表實際提供 LINE 相關服務的主體(如公司或品牌)

raw-image


Channel(服務渠道):是 Provider 在 LINE 平台下所建立的各種應用服務的實體,例如 Messaging API、LINE Login 等。Channel 是讓 Provider 能夠使用 LINE 各項功能(如訊息推播、用戶登入)的橋樑

每一個 Channel 必須隸屬於一個 Provider 之下,不能獨立存在,也不能跨 Provider 設定

一個 Provider 底下可以建立多個 Channel,依照不同的業務需求(如不同品牌、不同服務功能)來區分

例如假設 A 公司有兩個品牌(A-1、A-2),分別需要 LINE Login 功能,則應在「A 公司」這個 Provider 底下建立兩個 Channel(分別對應 A-1、A-2)。這些 Channel 所蒐集的用戶資料都由 A 公司(Provider)統一管理

建立Channel:

raw-image

我們選擇建立 Messaging API 的 channel :

raw-image

要建立一個 LINE Official Account (LINE官方帳號)才能使用 LINE Messageing API 發送訊息給使用者

所以會先到 LINE官方帳號的後台, 建立一個帳號, 第一次進入會先簡訊驗證, 然後填寫表單建立帳號:

raw-image

建立之後會問要不要認證帳號, 可以選擇稍後

建立好帳號如下

raw-image

你要讓 LINE 官方帳號具備自動回覆、聊天機器人、串接外部系統等進階功能時,必須先在 LINE Developers 後台建立一個 Channel(例如 Messaging API Channel),然後將這個 Channel 綁定到你的 LINE 官方帳號

LINE 官方帳號是對用戶的品牌門面,Channel 則是讓這個帳號能與外部系統溝通的技術橋樑

再來就是要啟動Message API

在官方帳號管理後台, 進入剛建立的帳號, 畫面右上角有個Settings點選進入, 選擇Message API 選項, 點選 "啟用Message API", 選擇我們剛剛建立的provider, 隱私權政策可以略過, 按下確定啟用Message API , 有以下畫面就是啟動成功嚕!

raw-image

一些細項設定看你的需求, 在LINE 官方帳號後台 Account seettings可以設定要不要允許這個bot可以加入到群組

使用ngrok設定n8n server

這裡假設你已經設定好n8n server並且啟動在 localhot:5678

ngrok 是一個反向代理工具,用於將本地開發環境的服務快速暴露到公網。它通過在本地與 ngrok 伺服器之間建立安全隧道,提供一個公開的 URL,讓外部用戶或設備可以訪問本地的 Web 服務

我們利用像 ngrok這樣的工具將我們的 n8n server暴露在公網下, 提供給LINE呼叫

ngrok http http://localhost:5678

你會看到如下畫面

raw-image

Forwarding (紅色圈起來的部分) 就是對外的網址, 可以讓我們設定在 LINE webhook上

我們先來建立n8n流程

N8N設定流程

raw-image

echo server最簡易只需要兩個節點

第一先設定 Webhook 節點

監聽使用者輸入

HTTP Method 設定為 POST

複製 Webhook 節點產生的網址 (點選URL欄位就可以複製)

raw-image

打開 LINE Developer後台, 選擇到你新增的channel, 你會看到webhook選項

raw-image

點選編輯, 加入你從n8n節點複製好的URL, 測試用的像以下:

http://localhost:5678/webhook-test/516a7013-af97-44ae-99b4-49a9c460b432

將 http://localhost:5678 替換成 ngrok給我們的URL, 例如:

https://1d3f-59-1111-155-211.ngrok-free.app/webhook-test/516a7013-af97-44ae-99b4-49a9c460b432

儲存後回到 n8n 按下啟動測試

raw-image

在LINE Developer後台按下 Verify 看有沒有連通, 如果有, 就會顯示成功提示, 並且在n8n節點會看到以下內容表示webhook成功了:

raw-image

因為是測試用, 所以執行一次webhook節點就會停止

再次點選節點上的 Listen for test event, 就可以開始監聽webhook事件了,

在Line上我們發訊息給機器人訊息, 就會得到像是以下的結果:

raw-image

要關注的的數值如以下:

[
// ....
"body": {
"events": [
{
"type": "message",
"message": {
"type": "text",
"text": "水"
},

"replyToken": "6289df2696774c45b71c5075273048",
"mode": "active"
}
]
},
"webhookUrl": "http://localhost:5678/webhook-test/516a7013-af97-44ae-99b4-49a9c460b432",
"executionMode": "test"
}
]

新增 Request 節點

再來新增Request 節點, 用來呼叫 Line API 將想要回傳的資料傳給使用者

raw-image
  • Method: POST
  • URL: https://api.line.me/v2/bot/message/reply
  • 選擇 Generic Credential Type 以及 Bearer Auth
  • Bearer Auth account 的 Bearer Token 填入我們新建立的Channel Aceess Token, 進入到LINE Developers 選擇channel 的Messaging API, 拉到最下方會看到
raw-image
raw-image

設定 Headers打開, 填入

  • Content-Type: application/json
raw-image

Send Body打開,

Body Content Type 選 JSON, Specify Body選 Using JSON,

JSON 主題填入如以下: (像是 {{ $json.body.events[0].replyToken }} 這種參數可以從左側input拉入, 會顯示預覽看數值有沒有拉對 )

replyToken 是 LINE Messaging API 在收到用戶訊息(或特定事件)時,隨 webhook 一起傳送給你的「一次性憑證」。它的用途是讓你的機器人能夠在短時間內(通常是幾秒內)直接回覆這則訊息。你必須在收到 webhook 事件後,使用這個 replyToken 發送回應訊息給用戶,API 會根據這個 token 把訊息送到正確的對話串, replyToken 只能使用一次,且有效時間非常短(大約 30 秒內,實際會依系統狀況調整),超時或重複使用都會失效

發送 reply message 時,必須在 API 的 body 內帶上 replyToken 和 messages 內容:

{
"replyToken": "{{ $json.body.events[0].replyToken }}",
"messages": [
{
"type": "text",
"text": "{{ $json.body.events[0].message.text }}"
}
]
}
raw-image

儲存後, 就可以啟動webhook節點監聽測試了

raw-image


測試都沒有問題, 就可以在webhook節點正式打開Production URL, 和我們剛才用的Test URL差別就是 /webhook//webhook-test/

production URL就會一直監聽訊息了,

raw-image

按下Execute Workflow, 並且將右上角的狀態改為Active:

raw-image
raw-image

使用 LINE Developers後台將webhook URL改成production的

raw-image

大功告成!!

raw-image

未來應用與進階延伸

恭喜你順利完成 n8n LINE echo bot 的設置!

透過這個簡單的範例,就可以串接 n8n 與 LINE,並讓機器人根據你的訊息自動回覆。

這只是自動化世界的起點——未來你可以根據這個基礎,加入更多條件判斷、串接第三方服務(如 Google Sheets、Gmail、天氣 API 等),甚至實現個人化回應或自動化工作流程。

如果你在操作過程中遇到任何問題,歡迎留言討論或參考 n8n 與 LINE 官方文件。希望這篇教學能幫助你開啟自動化的新世界,也期待看到你創造出更多有趣又實用的應用!




留言
avatar-img
留言分享你的想法!
avatar-img
學習 n8n 和 ComfyUI 的筆記
2會員
10內容數
紀錄學習ComfyUI的筆記, 如果有建議或是更正, 還請大家不吝指教, 謝謝
你可能也想看
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
透過 No Code 自動化建立「待辦事項 AI 助理」,你只要上傳語音檔在 LINE 聊天室,AI 即自動摘要語音內容,同時新增待辦事項在 Todoist 待辦事項 APP,讓你管理任務更輕鬆!即使臨時接收口頭任務交付,或當下忙著處理別的事情,也能輕鬆建立待辦事項!
Thumbnail
透過 No Code 自動化建立「待辦事項 AI 助理」,你只要上傳語音檔在 LINE 聊天室,AI 即自動摘要語音內容,同時新增待辦事項在 Todoist 待辦事項 APP,讓你管理任務更輕鬆!即使臨時接收口頭任務交付,或當下忙著處理別的事情,也能輕鬆建立待辦事項!
Thumbnail
👨‍💻 簡介 今天這篇主要是帶大家快速建立屬於自己的 Telegram bot,申請 bot 的部分我會附上網址,請準備好之後再來開始。 🛠️ 使用工具 Python 3.9.6 TG Bot 📝 功能需求 輸入指令讓 TG Bot 回傳訊息 接受傳入參數並進行簡單回傳 設定
Thumbnail
👨‍💻 簡介 今天這篇主要是帶大家快速建立屬於自己的 Telegram bot,申請 bot 的部分我會附上網址,請準備好之後再來開始。 🛠️ 使用工具 Python 3.9.6 TG Bot 📝 功能需求 輸入指令讓 TG Bot 回傳訊息 接受傳入參數並進行簡單回傳 設定
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
打造 LINE AI Chatbot,將 LINE 官方渠道串接 ChatGPT AI,讓 AI 根據用戶問題給予對應回覆,在回覆廣度或深度都更完整。輕鬆處理龐大訊息量,自動生成回覆並立即回應,提升訊息處理效率!更支援「針對 AI 回答設定框架」,於指定資料表內搜尋資料生成回覆,提高回覆準確性!
Thumbnail
打造 LINE AI Chatbot,將 LINE 官方渠道串接 ChatGPT AI,讓 AI 根據用戶問題給予對應回覆,在回覆廣度或深度都更完整。輕鬆處理龐大訊息量,自動生成回覆並立即回應,提升訊息處理效率!更支援「針對 AI 回答設定框架」,於指定資料表內搜尋資料生成回覆,提高回覆準確性!
Thumbnail
在這篇教學中,我們將學習如何使用 Google Apps Script 來連結 LINE Notify,以便於你的應用程式或自動化工作流程中發送通知。LINE Notify 是 LINE 提供的服務,可以讓你透過 LINE 帳號來發送自訂的通知訊息。
Thumbnail
在這篇教學中,我們將學習如何使用 Google Apps Script 來連結 LINE Notify,以便於你的應用程式或自動化工作流程中發送通知。LINE Notify 是 LINE 提供的服務,可以讓你透過 LINE 帳號來發送自訂的通知訊息。
Thumbnail
本文章將介紹如何在LINE Notify上設定及使用權杖(access token)來進行通知功能。透過此API,可以使用curl或JAVA CODE來讓結果顯示在Line上面,達到及時的通知效果。
Thumbnail
本文章將介紹如何在LINE Notify上設定及使用權杖(access token)來進行通知功能。透過此API,可以使用curl或JAVA CODE來讓結果顯示在Line上面,達到及時的通知效果。
Thumbnail
欲傳送之內容,由使用者輸入於文字檔內,執行本執行檔後,指定之LINE群組全員,將會收到推播訊息
Thumbnail
欲傳送之內容,由使用者輸入於文字檔內,執行本執行檔後,指定之LINE群組全員,將會收到推播訊息
Thumbnail
上回說明的手動下指令,傳出訊息。為了節省手動輸入之動作,將欲執行的curl指令內容,事先作成執行檔。當需要傳送訊息時,只要按兩下執行檔,便可立刻傳出訊息至LINE群組內之全員 2. 說明 2.1 因每次要傳送內容不同,將這些會變動的訊息資料,輸入後保存 於bat執行檔內
Thumbnail
上回說明的手動下指令,傳出訊息。為了節省手動輸入之動作,將欲執行的curl指令內容,事先作成執行檔。當需要傳送訊息時,只要按兩下執行檔,便可立刻傳出訊息至LINE群組內之全員 2. 說明 2.1 因每次要傳送內容不同,將這些會變動的訊息資料,輸入後保存 於bat執行檔內
Thumbnail
本文介紹了text-generation-webui的安裝方法和模型的選擇,包括模型的下載和擺放位置,並提供了相關的連結和建議。
Thumbnail
本文介紹了text-generation-webui的安裝方法和模型的選擇,包括模型的下載和擺放位置,並提供了相關的連結和建議。
Thumbnail
相信有許多人都使用跟接觸過 ChatGPT 了,在這個工具出來後我也開始大量使用,被他的反應跟能力給嚇到,但在使用一段時間跟看到大家的應用心得,還是發現了一些應用上的心得,他並不是全能的,但適當的應用絕對可以讓我們發揮更大產能。
Thumbnail
相信有許多人都使用跟接觸過 ChatGPT 了,在這個工具出來後我也開始大量使用,被他的反應跟能力給嚇到,但在使用一段時間跟看到大家的應用心得,還是發現了一些應用上的心得,他並不是全能的,但適當的應用絕對可以讓我們發揮更大產能。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News