首页 文章

与Cortana技能集成的Microsoft.Bot.Builder.Location:选择地址的问题

提问于
浏览
1

我正在使用Microsoft构建器SDK为c#构建Chat bot . 目前,我使用Microsoft.Bot.Builder.Location与Facebook,模拟器和Skype Channels 进行工作位置对话 .
emulator_out

最近,我一直在尝试将bot与Cortana通道集成,但是Location Dialog似乎不像其他渠道那样有效 . 一旦我选择“输入运费”,它会提示我输入地址 . 我说地址,它更新了页面,找到了可能的位置(如轮播卡),并在更新页面后直接提示我从可能找到的地址中选择正确的地址 . 但是,我无法选择正确的选项,因为它已经更新了页面,我无法再查看可能的位置 .
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},
                });

我想知道是否有不同的方法来获取Cortana Channels 的用户位置(送货地址)?谢谢!

2 回答

  • 0

    这有没有得到解决?我目前正在集成BotBuilder.Location库,并且在skype,facebook等方面都很好...但是关于Cortana,在它提示“你对哪个位置感兴趣?”之后 . 没有输入方法(麦克风不打开,文本输入被禁用) .

  • 0

    我也遇到了这个对话框的问题 . 我所做的是下载对话框并完全重新设计以满足我的需求(我也用谷歌取代了bing,因为我无法在bing maps网站上进行搜索工作) .

    其中一个问题是卡和它后面的消息是两个不同的消息 . Cortana将为每个帖子更新画布,因此我将其合并为一个 .

    我有很多问题与PromptDialog.Confirm不工作所以我用context.MakeMessage替换它并附加卡作为附件 . 然后发布消息 . 在邮件中,您可以同时拥有卡片和文本/语音 . 然后等待回复 .

    唯一的问题是你必须解释响应 . 我还没弄清楚如何自动完成这项工作 .

相关问题