Microsoft Bot Framework FAQ - 輕輕鬆鬆透過 Direct Line 去接 LINE BOT

透過 Microsoft Bot Framework 來開發 BOT ,透過它的 Bot Connector service ,

可以讓我們寫一套程式,就可以處理不同的 IM Channel(例如 skype, slack ...)。

但是台灣常用的 LINE 卻不在它 Support 的 Channel 之中。

目前只能透過 Direct Line 的方式去接 LINE BOT。

所以 Kenichiro Nakamura 有幫我們封裝 LineClient (line-bot-sdk-csharp) 來處理跟 LINE BOT 溝通的部份。

以下我們一步步來介紹如何使用它,

 

1.啟用 Direct Line

MyBots 那,啟用 Direct Line ,勾選 3.0 ,並將 Secret Key Copy 下來(程式會用到它)。

2.申請 LINE BOT 

關於如何申請 LINE BOT 請參考「關於Linebot(2) - 新版Line@ Messaging API使用心得 (Line Bot v2)」說明。

LINE@MANAGER 建立帳號,並設定好 BOT 後(帳號設定 -> Bot設定),可以點「開啟 LINE Developers」,如下圖,

到了 LINE Developers 後,要記下來的就是 Channel Secret 及 Channel Access Token (程式會用到它)。

另外就是要設定 Webhook URL ,因為是在原先的 BOT 專案中新增一個 LineMessagesController ,所以 URL 類似(https://你的BOTURL/api/LineMessages) 。

3.加入 LineMessagesController

3.1. 從 Nuget 安裝 Microsoft.Bot.Connector.DirectLine 套件,如下,

3.2. 從 Nuget 安裝 LineMessagingAPI.Csharp 套件,如下,

3.3. 在 web.config 的 appSettings 區段中加入 Direct Line Secret 及 LINE 的 Channel Secret 及 Channel Access Token ,如下,

<appSettings>
    <!-- 其他設定 .... -->
    <add key="DirectLineSecret" value="Direct Line Secret Key" />
    <!-- LINE Bot Info-->
    <add key="LineChannelSecret" value="Line Channel Secret" />
    <add key="LineChannelAccessToken" value="Line Channel Access Token" />
    <!-- 其他設定 .... -->
</appSettings>

3.4. 在 Controllers 目錄,新增 LineMessagesController , 並貼上以下的 Code (或是從 LineWithBotFrameworkApplication Copy出來也可以)。

簡單的幾個步驟,然後在 LINE 中加入 BOT好友,您的 BOT 程式就可以在 LINE 上使用了哦! 如下,

註: 
1. 目前 Direct Line 不 Support Proactive Message 哦!
2. LineMessagesController 中會將 HeroCard 轉成 LINE 的 Buttons template 哦!
3. LINE BOT 的 Buttons template 只能在 智慧手機上使用哦! 在電腦版的 LINE 無法使用哦! 


4. 因為 Buttons template 中,subtitle, text, image, buttons , actions 都是必要的,所以要使用 HeroCard 請記得都要給哦!

 

參考資料

line-bot-sdk-csharp

An Introduction to the Microsoft Bot Framework

關於Linebot(2) - 新版Line@ Messaging API使用心得 (Line Bot v2)

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^