Microsoft Bot Framework 和 Asp .NET Core 可以快速做出簡單的 Message Bot - Part 1

Microsoft Bot Framework v4, Asp .NET Core, Azure Bot, Facebook Bot, LINE Bot, Microsoft Team Bot !

前言

早在前幾年就一堆相關的RD 大大們寫關於BOT 的相關文章了~ 這段時間有幸玩了一下 Microsoft Bot Framework 配合 Asp .NET Core 和 Azure app service 如何寫出簡單的Bot給多平台( Facebook, Skype, LINE ... etc )


開發環境:

  1. Microsoft Azure subscription
  2. Facebook developer account
  3. LINE developer account
  4. Microsoft Office 365 developer account (如果Azure沒有綁Office 的開發就會需要喔 如果需要做 Microsoft Team bot 會需要用到這個

讓我們來看看如何快速的操作可以支援多平台的Bot吧


Facebook developer 註冊

這邊我們先註冊一下 Facebook developer 和 LINE developer的流程吧

Facebook developer website 請瀏覽 => Facebook for Developers

Step 1

這邊可以看是要申請新帳號還是要登入已經有申請的帳號

Step 2​ 

這邊可以在左邊的按鈕建立新的 Facebook app

Step 3 

然後這邊建立的時候可以選擇 管理企業整合工具 (這個選單算是樣板的設定,進去後都可以在做更進階的設定!​

Step 4 

這邊就可以填入相對應的資訊就可以建立  Facebook App了

Step 5 

 建立成功後會出現這樣的畫面! 或是按下左邊的 產品 的按鈕就可以為你的App加上相關資訊! 在使用 Facebook Messenger Bot 會需要使用 Webhook, Messenger  這兩個產品

Step 6 

 這邊加入 Messenger 的時候會需要綁定 粉絲專頁 需要建立一個粉絲專頁或是新增既有的粉絲專頁

Step 6 

和粉絲專頁綁定後就會出現如上的畫面! 這邊需要注意的是粉絲專頁的下方有組數字,就是粉絲專頁的ID ( Page ID ) 然後右邊有個 產生權杖 的按鈕也請按下並記入起來該產生出來的權杖 ( Page token ) 這兩個資訊很重要之後會需要用上!​ 

Step 7 

然後在左邊面板的 設定裡面 會有個 基本資料 然後頁面的 應用程式編號 以及 應用程式密鑰 就是 App ID / App secret 

這邊整理以下重點資料

App ID

App Secret

Page ID

Page Secret

 以上的資料需要填入到 Azure Bot Channel Registration的服務,有些資料需要重Azure填回到Facebook developer portal所以建議開新分頁做之後操作


Line developer 註冊

Line developer website => LINE Developers

Step 1 

在左上角有個登入按鈕​

Step 2 

 然後註冊成為開發人員或是要登入LINE個人帳號​

Step 3 

 登入成功後可以到左側可以看到 Provider 然後再按下建立按鈕

Step 4 

 

 接者在建立 Channel 並選擇 Messaging API ! 然後填上註冊相關資訊就好,這邊就不做說明哪些需要填寫拉

Step 5  ​

 建立好之後到該Channel 內的Basic settings 然後往下瀏覽可以看到有個 Channel secret

這個需要計下來!​

Step 6 

 接者在 Messaging ​API的選單內往下拉會看到 Channel access token 

 按下右方的 Issue就會建立新的 token 然後按下 Reissue 會重新產生新的 token,在跳出的視窗可以調整 token 的存活時間!如果設定時間為 0 就代表是不會過期的 token

這邊整理以下重點資料

Channel secret

Channel access token

以上資料需要填入到 Azure Bot Channel registration 內!有些資料需要重Azure填回到Line developer portal所以建議開新分頁做之後操作


Azure Bot services 設定

接著準備要開始使用 Azure Bot的服務設定了 這邊會需要使用到Bot Channel Registration的服務並把剛剛申請好的 Facebook, Line的 Bot綁定在Azure Bot Channel上! 

這邊先假設大家都已經有註冊Azure或是有公司的帳號可以使用了,操作步驟如下

Step 1 

直接在 Azure Portal上面搜尋 Bot Channel 就可以看到 Bot Channel Registration的服務​

Step 2 

接著把需要必填的相關設定設定好就可以了! 這邊注意一下 Messaging endpoint 可以之後再填入就好~​

Step 3 

 如後在左邊的選單分類的 Bot management 裡面有個 Channels!進去該項目去設定Bot 的連結​,選擇Facebook 的Channel連結就可以設定其餘資訊

Step 4 

 這邊就填入之前在Facebook developer的那四項資訊! ​然後記得往下滑有其他資訊需要填回去給 Facebook account 

 這邊Callback URL 和Verify Token 要丟到如下Facebook developer 的 Messenger 選單下的Webhooks 

 輸入CallBack URL以及 Verify Token並按下驗證並儲存,然後再到Azure Portal 按下Save 這樣就算是把Facebook和 Azure Bot Channel​ 設定完成

 Step 5 

 這邊接下在Channel裡面綁定 LINE 的服務,把Line developer 的那兩項資訊填入這邊,接著往下瀏覽把​ Webhook URL填回到LINE developer 的 Messaging API 選單下的 Webhook settings

 並按下 verify 的按鈕!並確保Use webhook的選項是開啟的​

這邊要注意 Messaging API在 LINE Offical Account features 裡面有 Auto-reply messages  需要設定成 disabled 才能夠用程式碼控制回覆的內容喔


結語

到這邊就算是把帳號相關的連結給設定起來了! 下篇文章將會帶入使用 Asp .NET Core 加上 Bot Framework v4 並發佈到Azure app service來串接Bot 的服務