我有一个父节点,基于用户输入,我在我的应用程序级别资格设置上下文变量:是或否并传回。对于我的父节点,我有两个子节点的条件 $eligibility=="yes" 和 $资格==“否”。所以一旦用户从父节点验证输入并且上下文变量被传回,那么我需要跳转并寻找资格条件。如果是我需要去一个节点,如果没有那么到另一个。我能怎么做?
我尝试将 true 设置为节点并将这两个节点添加到此节点并跳转到 true ..但没有奏效..我们如何实现这一点?
我有一个父节点,基于用户输入,我在我的应用程序级别资格设置上下文变量:是或否并传回。对于我的父节点,我有两个子节点的条件 $eligibility=="yes" 和 $资格==“否”。所以一旦用户从父节点验证输入并且上下文变量被传回,那么我需要跳转并寻找资格条件。如果是我需要去一个节点,如果没有那么到另一个。我能怎么做?
我尝试将 true 设置为节点并将这两个节点添加到此节点并跳转到 true ..但没有奏效..我们如何实现这一点?
@data_henrik 提到的是设置上下文值然后根据设置值切换到不同流的好方法。但是,当您需要在应用程序的上下文中设置该值之前执行一些逻辑时,这将不是一种合适的方式。
我有这样的要求,所以我们过去常常在父节点执行后在上下文中设置值之后从我们的应用程序发送一个虚拟文本。之后查看图像和说明。
我们没有使用 Jump,因为我们必须在父节点之后的对话服务中进行一些验证,然后才能继续前进。在我们可以在上下文中设置值之前,使用跳转将允许对话移动到下一个节点。
用例流程 -一旦用户为父节点意图输入文本,对于我的案例“#send-mail”意图,我会显示父响应,然后在我的应用程序中进行一些功能验证,并向上下文添加一个值。现在我们发送一个满足“#Valid”意图的虚拟文本“valid”,从而移动到流中的下一个节点。在这个节点中,我们检查上下文中的值(现在已经设置)并向用户显示适当的响应。
您可以在前两个测试节点 $testMe==true 和 $testMe==false 中设置输出 json 数据包中的临时输出变量,即 output{"temp":"true"} 或 "false"。然后你可以跳转到一组新的节点并测试 output.temp 值,即 output.temp == 'true' 然后做一些事情,或者 output.temp == 'false' 然后做一些事情。
这个动作的好处是 output.temp 变量只有当前对话输入的生命周期。与需要删除/删除的上下文变量不同。