2017-05-25 42 views
1

我正在使用Microsoft builder SDK for c#構建Chat bot。目前,我有工作位置對話框使用Microsoft.Bot.Builder.Location與Facebook,模擬器和Skype頻道。 emulator_out與Cortana技能集成的Microsoft.Bot.Builder.Location:選擇地址的問題

最近,我一直在嘗試將bot與Cortana通道集成,但是Location對話框似乎不像其他通道一樣工作。 一旦我選擇「輸入航運」,它會提示我輸入地址。我說地址,它會更新頁面並找到可能的位置(如輪播卡片),並在更新頁面後立即提示我選擇正確的地址。但是,我無法選擇正確的選項,因爲它已經更新了頁面,我不能再查看可能的位置。 enter image description here 這是我的方式已經實現的位置對話框:

   var locationDialog = this.dialogFactory.Create<LocationDialog>(
       new Dictionary<string, object>() 
       { 
           { "prompt", string.Format(CultureInfo.CurrentCulture, Resources.RootDialog_Delivery_Address_Prompt, (await qtyResult).From.Name ?? "User") }, 
           { "channelId", context.Activity.ChannelId }, 
           { "apiKey", "apiKey"}, 
          { "options",LocationOptions.SkipFinalConfirmation | LocationOptions.SkipFavorites}, 
       }); 

我想知道是否有不同的方法來獲取用戶的位置(送貨地址)柯塔娜通道?謝謝!

+1

請將您的代碼粘貼爲文本,而不是屏幕截圖。 –

+0

這是SDK中的限制/錯誤。你能否在github上打開一個問題? https://github.com/Microsoft/BotBuilder-Location/issues – blenddd

回答

0

這是否得到解決?我目前正在整合BotBuilder.Location庫,並且在skype,臉譜等方面都做得很好,但是關於Cortana,在它提示「你對哪個位置感興趣?」之後。沒有輸入方法(麥克風不打開,文本輸入被禁用)。

+0

我建議在GitHub repo上打開一個bug:https://github.com/Microsoft/BotBuilder-Location/issues – rbrundritt

0

我也有這個對話框的問題。我所做的是下載對話框並完全重寫它以滿足我的需求(我還用谷歌替代了bing,因爲我無法像在bing地圖網站上那樣使搜索工作)。

其中一個問題是卡和它之後的消息是兩個不同的消息。 Cortana會更新每個帖子的畫布,所以我將它合併爲一個。

我有很多PromptDialog.Confirm無法正常工作的問題,所以我用context.MakeMessage替換了它,並將該卡作爲附件附加。然後發佈消息。 在信息中,您可以同時擁有卡片和文字/語音。然後等待迴應。

唯一的問題是您必須解釋響應。我還沒有弄清楚如何自動做到這一點。