2017-02-23 176 views
0

我想從一個機器人實例服務多個機器人。 例如:api/bot1/messages,api/bot2/messages等 我谷歌,我發現一些從github死鏈接。從一個機器人實例服務多個機器人

我閱讀文檔:https://docs.botframework.com/en-us/csharp/builder/sdkreference/connectormisc.html#securing

但是如何設置呢?我的web api中需要一些路由配置嗎?

如何「正確」加載微軟應用程序ID和密碼到消息控制器?

順便說一句我是新的web api和bot框架。

回答

0

當你在C#中創建一個新的bot時,你會得到一個帶有Default route API/Messages的MessagesController。

要在同一個項目中創建第二個Bot,可以創建一個新的控制器(例如,複製MessagesController並重命名它)。然後,您將得到一個帶有控制器名稱的新路由,例如SecondMessagesController => api/SecondMessages

通過類別定義上方的RoutePrefix屬性,您可以更改路由名稱,例如[RoutePrefix("api/bot1messages")]

這就是我所測試的locale沒有任何問題。發佈機器人需要以下部分,但我還沒有測試:

目前,兩個機器人都具有相同的授權,因爲兩者都使用web.config來獲取AppId和AppPassword。但BotFrameworks需要每個Bot的個人ID和密碼。爲了得到這個,你可以直接在BotAuthorization屬性中提供它們,例如[BotAutorization(AppId = "MyId", AppPassword = "MyPassword")]

+0

它會引發錯誤。例外是400(有多個消息控制器)。我不太瞭解這一點,因爲路線不同。 – InfectedMushroom

+0

你能發送更多關於異常的細節嗎? –

+0

http://stackoverflow.com/questions/42488700/bot-does-not-respond-to-messages – InfectedMushroom