如何解决Bot Framewok作曲家-“替换此对话框”会导致错误400
我正在使用bot Framework Composer构建我的第一个聊天机器人,但我并没有成功构建一个非常简单的场景。
我在Bot Framework Composer Documentation中深深地看着,但是发现没有任何帮助。
我要实现的儿童场景:
- 机器人问/提示“说点什么”
- 用户回答/输入一个字符串,例如“ anAnswer”
- 机器人说:“您说的是'anAnswer',对吗?”
- 用户键入“是”或“否”
- 如果用户键入“是”:对话框结束
- 如果用户键入“ no”:重复此对话框
See the Bot Composer Canvas here
我面临的问题:
1。 “重复此对话框”不符合我的预期。
-
模拟器不断告诉我:“ 检测到递归循环,AdaptiveDialog不能一轮重复两次”
-
我尝试将“允许循环”设置为“真”,但似乎会导致无限循环(尽管我不知道该如何检查...)
See the "Repeat the dialog" options here
我是否必须在“重复对话框”操作的“选项”中添加某些内容? 喜欢从哪里开始循环?如果是这样,该怎么做?
2。如何在已使用的方案中使用“替换此对话框”?
由于我没有成功执行“重复对话框”操作,因此我尝试通过将整个对话分为两个对话来将整个对话减半。每个对话都有一个目标:
- 第一种情况是向用户询问信息
- 第二种情况是要求用户确认
See the "Ask for infos" dialog here
See the "Confirmation" dialog here
最初的目标是当用户希望编辑以前键入的内容时,将其“重定向”到“询问信息”对话框。
但是在这里,它导致错误:POST400directline/conversations/<conversationId>/activities
再次出现了“替换对话框”操作的一些“选项”可能,但我没有发现任何in the documentation on this subject。
非常感谢帮助新手,我很乐意尝试您带来的解决方案并提供反馈。
祝你有美好的一天,
PS:您知道关于Bot Framework Composer的很好的教程(除Microsoft以外的其他教程)
解决方法
在使用“重复对话框”操作之前,您必须清除存储用户答案的变量。其循环的原因是该漫游器已在内存中找到答案,因此不会再次提示用户。
在重复对话框之前,使用“设置属性”操作并将变量值设置为null
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。