Sar*_*ran 6 if-statement api-ai dialogflow-es
我有$dinetype从用户获得的变量.
但我想根据$dinetype变量中设置的值给出响应.除了回答之外,我还需要设置相关的上下文.我如何在DialogFlow中执行此操作?
if($Dinetype=='dineout')
ask ('which restaurant would you like to go to?')
set_context ('awaiting-restaurant')
if($Dinetype=='takeaway')
ask ('When would you like to take away?')
set_context ('awaiting-takeaway-time')
Run Code Online (Sandbox Code Playgroud)
它可编程吗?或者是否可以在UI中实现与上述相同的功能?
回复较晚,但也许有人会觉得有用。
如果条件响应仅需要引用单个参数值,那么我想出了可以做的事情就是利用实体的“参考值”作为要为特定同义词集提供的响应。
因此,您将拥有一个看起来像这样的实体:
然后,通过以下方式设置您的意图$Dinetype:
然后,最终结果将如下所示:
您可以从那里做出任何需要的跟进意图。
缺点是Dinetype不会重复使用。但是我仍然认为,每当您需要一个简单的条件响应时,它就比编写实现网络挂钩要好。
您不能直接在“响应”部分中执行此操作。“响应”部分用于相当简单的响应,不需要处理大量逻辑。尽管您可以在响应中使用参数,但是您不能基于参数的值给出不同的响应。因此,您可以将响应设置为
I think $Dinetype is great food.
Run Code Online (Sandbox Code Playgroud)
但不是
{{#if $Dinetype == "Thai"}}I think Thai food is too hot{{/if}}
Run Code Online (Sandbox Code Playgroud)
或类似的东西
但是,您可以通过实现实现 Webhook 来添加发送条件响应和上下文的代码。尽管您无法在Intent编辑器屏幕的一部分中对每个Intent进行此操作,但Fulfillment屏幕包含内置的代码编辑器。