By Zac
現代科技越來越便利,人人都有機會擁有自己的機器人。今天小編想與大家分享一個輕鬆擁有個人機器人秘書的好東西—LINE BOT。LINE為現代人帶來了新的溝通方式,讓您無論在哪兒,都能享受與好友、家人免費訊息通話的功能。
除了這麼便利的功能之外,你知道LINE還能建立自己的個人LINE機器人嗎?無論是日常記事、匯率查詢、天氣預報等資訊,都可以輕易地藉由LINE機器人幫妳做到第一時間的訊息推播。
除此之外,LINE BOT也可以與資安結合!?當然可以!LINE機器人也可以是網管人員或是設備管理員的好幫手,只要接上設備的警示通知API或是藉由實做訊息轉發的小程式。LINE BOT也能隨時隨地為您監控您的資訊安全。話不多說,小編就教大家如果快速建立自己的Line機器人吧!
(技能需求:Python、Django)
一、註冊成為服務提供商
在創立自己的linebot前,首先要申請Line服務中的Provider,主要目的是讓官方能夠識別這個Linebot是由誰提供的。
前往LINE Developers,透過LINE帳號登入即可進行申請。
完成服務提供商的帳號創立之後,就可以創建自己的Provider了。如下圖,只要點擊Create,就會出現輸入框。
在輸入Provider名稱之後,接下來會進行第二步驟,建立頻道(Channel),如下圖。
二、創建屬於自己的Line BOT
根據步驟一建立好自己的服務提供商之後,接著就是要樹立自己的LINE機器人形象,也就是頻道(Channel)的部分。
就像下圖一樣,當Channel接收到使用者傳送「今天天氣如何」,機器人會透過API傳送這個資訊到後端的網站伺服器,並進行對應的回覆,如「台中市 天氣晴」,在透過API藉由Channel回覆給使用者得到回應。
所以你可以想像Channel就是Line提供給您的機器人,他負責轉傳接收到的訊息,藉由Line提供的Messageing API傳送到我們建立的後端伺服器進行判斷,在做出對應的回覆行為。
話不多說,立馬建立自己的機器人形象吧!
選擇Channel Tpye設置為「Messaging API」,接著輸入關於這個機器人的基本資訊,如上圖。
在填寫好所有基本資訊完成創立後,為了讓Channel也就是機器人能與自己開發的後端伺服器進行資訊的傳輸,會有兩個憑證資訊需要記錄下來。
分別為 Channel secret以及Channel access token。請記下兩者之後,為後續建立後端伺服器所用。
三、創建後端伺服器
小編這編建立機器人的後端伺服器是透過Python、Django去創建的。首先,先創建一個專案,並確保能順利運行。
接著將步驟二的到的兩個連線憑證填入專案當中的settings.py當中,如下圖。
然後呢,為了讓之後Channel能順利地轉傳訊息到後端伺服器,請根據下圖修改以及新增兩的urls.py檔案。
四、開發Line機器人判斷應用程式
創建好伺服器之後,就可以開始撰寫我們機器人的判斷回應了,概念如下圖
當LineBot接收到訊息之後,會往我們建立的伺服器去找對應的邏輯判斷,也就是寫在Django的View.py當中。所以只要將接收資訊的對應判斷寫在View.py中,就可以讓Line機器人能對於使用者輸入的訊息進行自動回覆。
五、反向代理Ngrok
寫好後端應用程式後,接著就是要讓位於本地端的伺服器能夠被Line轉傳的伺服器找到我們。如果有固定的IP可以架設伺服器,那當然沒有反向代理的需求。
必須讓網址能夠公開在網路上且必須走HTTPS,Channel(機器人)才有辦法連結。所以可以透過Ngrok把本機IP:127.0.0.1,透過隨機產生的HTTPS網址公開在網路上。
有了公開的IP之後,我們只要將產生出來的HTTPS網址貼到Channel中的Webhook URL,即可完成連結的動作。
六、測試看看吧
如果串接好後端伺服器後,只要加入Line機器人,就可以完成第一個目標,建立LineBot仿聲機器人。
其他還能透過Line機器人做到什麼事情?這邊推薦幾個不錯的主題提供給大家參考,有興趣的小夥伴們也可以自己研究看看。
匯率
透過網站爬蟲,還可以定時把日圓匯率推播給您。
天氣小幫手
有許多你不知道的政府公開資料庫,也可以是Line機器人的好幫手!
檢測惡意網址
最後一個推薦的服務,也可以透過Line機器人協助檢查傳送的網址是不是惡意的釣魚網站。
希望這篇教學文章有幫到大家!
趕快去嘗試看看吧!