n8n 有多厲害,這邊就不贅述了,作為一個自動化工作流的軟體,n8n 相當適合用來產生判定輸入的工作流程,聊天機器人就是一個案例, n8n 有很多種建立方式,這邊就不著重於介紹了,以往很多 n8n 串 LINEBOT 都直接請使用原生的 webhook 功能,現在社群推出了一個 n8n-nodes-linewebhook 可以很快速地把發送以及推送給簡化,這邊就快速紀錄一下建立的流程。
首先要準備幾個東西
首先安裝 n8n 的 n8n-nodes-linewebhook 功能,點選左下角人名右側的 點點點,按下 Setting
接著點選左邊的 Community nodes ( 社群節點) ,點選右邊的 install,跳出安裝對話框,輸入 n8n-nodes-linewebhook 打勾風險評估勾勾,按下 install 等待安裝即可
安裝完畢就可以看到 畫面中多一個 n8n-nodes-linewebhook ,代表安裝完成
接著建立一個 Workflow 工作流,點選起始點,搜尋 line,點選 Line Webhook 有閃電的圖案
首先建立認證點選 Credential, 如果你只有一個機器人的話,path 輸入 line-webhook 就夠了
接著進入 LINE developers console 後台,要注意 LINE 進入 機器人的畫面會有兩種,一種是後臺設定資料,一種是帳號控制,主要進入的是 CONSOLE,建立好機器人之後,最主要就是要拿到頻道的密碼 也就是 Channel Secret
可以看到 Secret 右邊都有一個小按鈕,這個可以直接複製,接著貼上 n8n Credential 的 Channel Secret 就可以了
設定完畢之後可以點選一下 Webhook URLs 橘色的字樣,這邊會顯示你n8n 接收 LINE 的網址,要注意兩個問題,當你工作流尚未啟動的時候用的是 Test URL網址,正式建立好工作流之後,要使用的是 Production URL 網址,Inaction 要打開 Production URL 才會工作,不要搞混了,複製好網址要把網址告訴 LINE ,把機器人的 webhook 填上
點選 Messaging API , Webhook settings 按下 Edit,填入剛剛的網址,當你正式啟動的時候可以按下 Verify,LINE 會檢查發送一個測試過去,如果你在測試階段,確定網址有貼好就可以先不用管,因為 n8n 要啟動 LINE測試才會顯示 Success (成功)
當你設定 LINE Webhook 節點之後,就會出現這個畫面。
LINE BOT 可以接收多種訊息的內容,如果你最主要是接收文字內容,把 text 支線拿來延伸做下個節點控制即可
這邊直接簡單實作一下 自動回應,先搜尋 LINE ,點選 LINE MESSAGE,先建立一個回應訊息,選擇 Create a text message
出現節點後點兩下,會出現以下空白畫面
請先確定你的 LINE BOT 還在測試的網址 Test URL,左邊的 Execute pervious nodes 點一下,讓他等待接收,出現轉圈圈之後,用 LINE 傳一個測試的訊息
左邊出現接收到的訊息,接著把 收到的訊息 “測試123” 整個區塊用拖曳的方式放到右邊
關閉之後,建立後續動作,自動回應內容,搜尋 LINE,點選 LINE Messaging API ,選擇 Send a message
這邊要建立 回傳 的 LINE 認證,回到 LINE developers console ,點選 Messaging API,最下方有個 Channel access token ,這個要注意,右邊的 Reissue 是重新產生 TOKEN,只要按下去所有正在運作的BOT都會無法發送失效,這個是長效型的 token 只需要複製這行,建立 Line Messaging Auth account 就可以了,接著一樣把剛剛的 LINE MessageNode 的 message 拖曳到 Message 裡面,Line Webhook 的 replyToken 拖曳到 ReplyToken 這個欄位,就可以完成機器人回應,趕快存檔之後把 Active 打開,並且把 機器人的 Webhook 改回 Production URL,跟機器人對話試試
如果你需要 在回應上調整內容,只需要 Message Text 欄位自動加上些內容即可。剩下的就是 n8n 該有的節點作業了,希望這點簡單的教學能夠快速上手
如果有些 n8n 其他設定上的問題也可以參考單純使用 webhook 節點的教學唷
相關網址: