如何关闭@assistant/conversation中的对话

How to close a conversation in the @assistant/conversation

我已经创建了一个云函数来处理我想关闭对话的一些逻辑。

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

conv.close('Thankyou');

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

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

要结束场景中的对话,我们将过渡到结束对话场景。同样在云函数中我们可以使用吗

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

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

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

但是,另一种合理的方法是过渡到场景, 场景所做的主要事情是过渡到结束对话。由于您不能将转换作为 Entry 消息的一部分,因此您需要创建一个“真”的条件。

这似乎是一个不必要的 hack,但这并不像听起来那么疯狂 - 对于某些 Action,有一个共同的关闭和清理过程是有意义的,并且将它们集中在一个合乎逻辑的地方是有意义的.