2

我正在使用 bot Framework Composer 构建我的第一个聊天机器人,但我没有成功构建一个非常简单的场景。

我深入研究了Bot Framework Composer 文档,但没有发现任何帮助。


我想实现的儿童场景:

  • 机器人询问/提示“说点什么”
  • 用户回答/键入字符串,例如“anAnswer”
  • Bots 说:“你说的是‘anAnswer’,对吗?”
  • 用户输入“是”或“否”
    • 如果用户输入“是”:对话结束
    • 如果用户输入“否”:重复此对话框

在此处查看 Bot Composer 画布


我面临的问题:

1.“重复此对话框”没有按我的预期工作。

  • 模拟器一直告诉我:“检测到递归循环,AdaptiveDialog 不能一回合重复两次

  • 我试图将“允许循环”设置为“真”,但它似乎导致无限循环(虽然我不知道如何检查......)

请参阅此处的“重复对话框”选项

我是否必须在“重复对话”操作的“选项”中添加一些内容?就像循环必须从哪里开始?如果是这样,该怎么做?


2.如何在已经使用的场景中使用“替换此对话框”?

由于“重复对话”动作没有成功,因此我尝试通过将整个对话分成两个对话来将整个对话减半。每个对话都有一个目标:

  • 第一个场景是向用户询问信息
  • 第二种情况是要求用户确认

请参阅此处的“询问信息”对话框

请参阅此处的“确认”对话框

最初的目标是当用户想要编辑他之前输入的内容时,将用户“重定向”到“询问信息”对话框。

但是在这里,它会导致错误:POST400directline/conversations/<conversationId>/activities

这里再次有一些“替换对话框”操作的“选项”可能,但我没有在有关此主题的文档中找到任何内容。


非常感谢您帮助新手,我很乐意尝试您带给我的解决方案并提供反馈。

祝你有美好的一天,


PS:你知道一个关于 Bot Framework Composer 的好教程(除了微软的吗?)

4

1 回答 1

3

在使用重复对话操作之前,您必须清除存储用户答案的​​变量。它循环的原因是机器人已经在内存中有一个答案,所以它不会再次提示用户。

在重复对话框之前使用“设置属性”操作并将变量值设置为空

于 2020-09-29T07:04:48.733 回答