如何在@ assistant / conversation中结束对话

问题描述

我创建了一个云函数来处理一些我想结束对话的逻辑。

我尝试了以下操作,但出现错误,表明对话中没有名为close的方法

conv.close('Thankyou');

我已经查看了 @assistant/conversation 的文档,其中没有关闭对话的方法

enter image description here

我想知道如何从云功能关闭对话,以及是否可以使用例如云功能中的系统场景

要在场景中结束对话,我们将过渡到“结束对话”场景。同样,我们可以在云功能中使用它

conv.scene.next.name = 'End conversation'

对于我们创建的自定义场景,它可以正常工作,但是如果我们尝试在云功能中使用系统场景,则会失败。

解决方法

直接过渡到退出的最简单方法是使用特殊的“结束对话”场景名称:actions.page.END_CONVERSATION

不过,另一种合理的方法是过渡到场景,场景执行的主要操作是过渡到结束对话。由于您不能作为Entry消息的一部分进行转换,因此您需要创建一个条件为“ true”。

Illustration of Exit scene

这似乎是不必要的黑客手段,但这听起来并不疯狂-对于某些Actions,有一个通用的关闭和清理过程是有意义的,并将它们集中在一个逻辑位置是有意义的。 / p>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...