问题描述
我创建了一个云函数来处理一些我想结束对话的逻辑。
我尝试了以下操作,但出现错误,表明对话中没有名为close的方法
conv.close('Thankyou');
我已经查看了 @assistant/conversation 的文档,其中没有关闭对话的方法
我想知道如何从云功能关闭对话,以及是否可以使用例如云功能中的系统场景
要在场景中结束对话,我们将过渡到“结束对话”场景。同样,我们可以在云功能中使用它
conv.scene.next.name = 'End conversation'
对于我们创建的自定义场景,它可以正常工作,但是如果我们尝试在云功能中使用系统场景,则会失败。
解决方法
直接过渡到退出的最简单方法是使用特殊的“结束对话”场景名称:actions.page.END_CONVERSATION
。
不过,另一种合理的方法是过渡到场景,场景执行的主要操作是过渡到结束对话。由于您不能作为Entry消息的一部分进行转换,因此您需要创建一个条件为“ true”。
这似乎是不必要的黑客手段,但这听起来并不疯狂-对于某些Actions,有一个通用的关闭和清理过程是有意义的,并将它们集中在一个逻辑位置是有意义的。 / p>