我的代理有一个定义的对话流程 . 使用某个指标,在该会话流中的某个点,代理应该向用户提示某些内容,用户没有说什么,机器人没有反应,它正在启动让某些东西知道用户时间点 .

因此,从我的网络搜索和之前的对话流论坛讨论,'Events'似乎是能够做到这一点的工具 . 所以我有一个基于Python Django的Web服务器,它接收并响应来自Dialogflow代理的webhooks . 我的聊天机器人界面是一个Android应用程序,我根据Dialogflow的github帐户(https://github.com/dialogflow/dialogflow-android-client)中的'Dialogflow-android-client'示例应用程序制作 . 通过此设置,基本会话聊天机器人运行良好 . 现在我正在尝试实现上面段落中描述的场景 .

现在,为此,我实现了向Dialogflow代理发送POST /查询请求以调用事件(如Dialogflow文档中所示:https://dialogflow.com/docs/events#invoking_event_from_webhook) . 它成功调用具有与之关联的特定事件的intent . 在使用EVENT webhook调用该意图时,我以文档中描述的格式从代理返回到我的服务器的json响应 . 但客户端(Android应用程序和Dialogflow开发人员对话框检查控制台)都没有显示文本或说出事件触发意图的输出文本 . 我只在我的服务器上获取所有JSON信息,没有任何内容发送到客户端应用程序 . 为什么是这样?在之前的Dialogflow论坛讨论中,一位经验丰富的人表示,通过webhook触发事件,您只能将信息返回到您从其他地方发起触发的位置 . 这是真的吗?在同一个地方,据说在客户端应用程序中获取事件触发器响应的最佳方法是使用FollowupEvent工具 .

这就是我正在做的事情,在我的服务器的webhook响应中,1个意图由用户说的东西激活,我在响应JSON中包含了FollowupEvent信息 . 但仍然没有来自事件触发意图的响应来自客户端应用程序 . 我认为在这种情况下,触发的意图不会仅被触发,因为如果它被触发,那么对该意图的POST webhook请求将来到服务器,而它没有 . 为什么不起作用?分辨率是多少?

以下是从我的服务器发送到Dialogflow代理的JSON(使用FollowupEvent):

{
    "contextOut": [],
    "speech": " ",
    "displayText": " ",
    "source": "PSVA-server",
    "followupEvent": {
        "event": {
            "name": "testr",
            "data": {}
        }
    }
}

在我的Dialogflow代理中,我创建了一个没有任何user_says的intent

在它的例子中,有一个事件“testr”在其中命名,有一个答案文本和'webhook'

选项已在履行中检查 .

最后有没有更好的方法来实现我想要实现的东西?