iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 12
0
自我挑戰組

用Line聊天機器人串起多媒體系統系列 第 12

Day 12 : 以本機招喚 3 星鸚鵡 LINE Chat Bot - 1 (串起你的 LINE Message API )

本篇文章將 LINE 官方範例逐步拆解,實作 echo 聊天機器人,完成時您已結合 Python、Flask、LINE Message API 及網路訊息傳遞等基本概念開發個基本多媒體系統雛形,算是不錯開局首抽教學文,以下進行介紹。

相關知識點

本篇進度為架構聊天機器人學會 echo 你說話的基本程式,這邊相關的知識點:

  • HTTPS。 LINE Message API 只容許超文本傳輸協定https作為溝通的方式, https 需要有經過認證安全的網域才行,可採行的作法如下:
    • 建立一個雲端伺服器,申請網域及 https 憑證。
    • 由本機透過 ngrok 等程式建立具 https 憑證的臨時通道。
  • API。 LINE、Google、Facebook 等服務為了管理開發者如何存取該服務/伺服器的內容,建立應用程式介面(Application Programming Interface,API)來進行資料交換,現今多半以JSON檔案進行傳輸,有些API需要申請後取得授權token,並且查閱API文件使用符合規範的呼叫方式,不然會呼叫失敗。
  • webhook URL。 每個 LINE Bot Channels只能綁定一個webhook URL作為Line bot與你的程式傳遞資訊的橋樑,自學者常遇到 webhook 連結失敗的問題,請試著動手做喔! 參閱官方文件設定webhook URL

實作 LINE Messaging API

  • 建立Python環境,請安裝安裝Python 3.X版本(Python 2.X版本已於2020年停止維護),編譯器採用微軟的VS CODE或採用JetBrains的PyCharm,創建本機與外網安全連線通道用的ngrok
  • 官方文件有一步步的Messaging API教學可運用。
  • 瀏覽概要,鎖定用 Messaging API。下圖左方是你架構的程式伺服器、右方是LINE用戶,中間就是LINE提供的中介大平台。

1. 建立Channel

  • LINE Developers console建立Channel,以下依官網教學。
    • 所謂的Channel想像是在LINE建立一個電視頻道,就像西森幼幼、串天新聞,透過頻道提供服務。
    • 請先登入 LINE Developers Console
    • 註冊/登入開發者帳號
    • 你的開發者帳號可以設定多個提供者,像是公司跟你個人名稱。
    • 建立你的 Channel,別包含LINE關鍵字怕使用者誤會,此名稱也是將來傳送訊息時顯示的名稱(之後可以修改)。
    • 確認 Channel 建立結果,下圖右邊為Providers,中間是Provider所屬各 Channels。
    • 到 Channel取得 [你的CHANNEL_ACCESS_TOKEN][你的CHANNEL_SECRET],如遺忘或新產生按右方Issue / Reissue ,另外 [CHANNEL_SECRET] 可以設定存續時間,預設為永久( long-lived ),算是與安全與便捷的妥協,並讓開發者依需求設定。
    • 此 channel 對應的 LINE 官方帳號,可在 LINE Official Account Manager 查閱,也可於此頁開始進行官方帳號設定。
      • 我們至 LINE Official Account Manager 的"回應設定"。
        • "加入好友歡迎訊息"依您需求選擇停用/啟用,這邊設停用。
        • "自動回應訊息"建議設定停用,不然罐頭訊息太多。
        • "Webhook"必須為啟用。

小結

本篇依照 LINE Messaging API 官方文件把Channel設定好,下篇會拆解程式範例,我們下篇見!

參考


上一篇
Day 11 : Google Colab 實用奧步篇 ( 連結硬碟、繪圖中文顯示問題 )
下一篇
Day 13 : 以本機招喚 3 星鸚鵡 LINE Chat Bot - 2 (架起你的 Flask )
系列文
用Line聊天機器人串起多媒體系統30

尚未有邦友留言

立即登入留言