我从用户那里获得了$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')
它完全可编程吗?还是可以在用户界面中实现与以上相同的功能?
答案 0 :(得分:4)
您不能直接在“响应”部分中执行此操作。 “响应”部分用于相当简单的响应,不需要处理大量逻辑。尽管您可以在响应中使用参数,但是您不能基于参数的值给出不同的响应。因此,您可以将响应设置为
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddJsonOptions(options => {
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});
}
但不是
I think $Dinetype is great food.
或类似的东西
但是,您可以通过实现Fulfillment Webhook来添加发送条件响应和上下文的代码。尽管您无法在“意图编辑器”屏幕的一部分中为每个意图进行此操作,但“实现”屏幕包括内置的代码编辑器。
答案 1 :(得分:1)