我通过Azure中的Bot Channels Registration选项添加了一个我在.net中开发的新Bot。然后我通过知识库向机器人添加了Cortana通道。虽然我可以在网络聊天中使用测试来测试我的Bot,但我无法让Cortana与我的Bot交谈。当Cortana了解我的口音时,她只是打开一个网页,我的代码中的断点永远不会到达。查看Azure中的Channels选项卡并单击Cortana通道的edit,我将调用名称视为My_XYZ,并禁用编辑此选项。但是在知识库中,我可以编辑我已更改为My ABC(带空格)的调用名称。
僵尸程序目前已发布到Self进行测试,我可以看到它的ID指向Azure中我的bot的名称,即some_team.my_xyz
我在我的localhost上使用了一个安全的ngrok隧道,这与聊天机器人一样正常。
有谁知道文档中是否缺少某个步骤? (文档中的某些链接会产生404错误)以及为什么我无法在Azure中更改机器人的调用名称。我还需要在Bot和Cortana通道中使用相同的调用名称,或者Cortana是否为您处理此映射。
答案 0 :(得分:0)
我将调用名称视为My_XYZ,并禁用编辑此选项。
我发现如果我是订阅中的 管理员 ,则Invocation name
选项是可编辑的。
但如果我使用 所有者 角色的其他帐户,则会禁用Invocation name
选项。我不确定它是否是门户问题,如果可能,您可以尝试在Azure门户上报告它。
我是否需要在Bot和Cortana频道中使用相同的调用名称,或者Cortana是否为您处理此映射。
根据我的经验,我们不需要在Azure Bot门户和知识库门户上指定相同的调用名称。
在我的测试中,我将调用名称设置为“helloworld
”(与Azure Bot门户“ helloworldchat ”上的调用名称不同),我可以调用helloworld
as预期
答案 1 :(得分:0)
我的问题在Github https://github.com/Microsoft/BotBuilder/issues/3991
上解决了总而言之,Cortana Skills目前仅供美国使用,因为我住在英国,我将不得不等到MS决定将其发布到世界其他地方。要解决此问题,您可以将PC的区域更改为美国。这允许您测试您的应用程序。但请注意,Cortana不完全支持自适应卡。
我只希望Bot开发与Windows 10的应用程序不同,并且MS更新桌面和Azure模拟器以支持自适应卡等的最新开发版本,并且比他们更快,并将Cortana技能发布到美国境外的开发者。我希望机器人框架使用相同的开发和发布模型.netcore。