2

我希望我的聊天机器人查看它目前知道的会话参数。但是,有些是可选的。因此,虽然我可以简单地在条目对话中说明它们中的大多数,但其中一些我只想说明它们已经被填写。完成后,我想进入下一页。我这样做的计划如下:

  • 条目对话“到目前为止我知道$session.params.something$session.params.something-else
  • 参数$session.params.optional,履行:代理说“我也知道$session.params.something-optional。”
  • 有条件的过渡路线true。-> 转到下一页。

但是,我真的不知道如何告诉参数检查以前填写的会话参数。在会话参数之后简单地命名参数并不能解决问题。

4

1 回答 1

2

我不知道我是否完全理解了你的问题:这就是我所理解的。

  1. 您有一些始终存在的 session.params -> 您在条目对话框中声明它们。
  2. 你也有 session.params有时会出现 -> 你想知道如何在它们被填满时才在对话中声明它们。

如果是这种情况,我可能会想出两个解决方案:

选项 1 假设页面名为Recap。作为Recap的入口对话,您可以添加您在第一个项目符号中写的内容:“到目前为止,我知道 $session.params.something 和 $session.params.something-else”。

然后我会添加两个单独的条件路由:

  1. 第一个检查可选参数是否已全部填充。如果某些可选参数已填写,您可以在此处添加一个履行,说明此可选参数,然后再转到下一页。 路线

  2. 第二个只是转到下一页,因为 $session.params.optional 将为空:注意按此顺序放置它们!

选项 2 第二个选项可能是构建您自己的条件响应:所以转到条目对话,然后添加对话选项,然后是条件响应。此块允许您编写自己的条件,例如:

if $session.params.optional != null
  So far I know that $session.params.something and $session.params.something-else. I also know that $session.params.optional
else
  So far I know that $session.params.something and $session.params.something-else.
endif
于 2021-02-18T14:47:13.400 回答