【问题标题】:DialogFlow Fulfillment throws "No Response defined for device"DialogFlow Fulfillment 抛出“没有为设备定义响应”
【发布时间】:2019-06-15 20:43:01
【问题描述】:

我正在使用 dialogflow-fulfillment npm 包,包括使用:

"dialogflow-fulfillment": "github:dialogflow/dialogflow-fulfillment-nodejs"

我必须这样做,因为 Google 似乎无法将 0.6.2 版本上传到 NPM。 (据说修复了这个错误,但没有)。

显然 DialogFlow 似乎无法意识到它已经在控制台中定义了响应。当我调用agent.setContext()agent.context.set() 而不通过agent.add() 添加响应时,我收到一个履行错误:

没有为设备定义响应:[SOME DEVICE]

即使我定义了静态响应。 agent.setFollowupEvent() 也是如此,但我可以添加一个空响应 agent.add(' '),因为它无论如何都不会执行。但是,当我使用 .setContext() 执行此操作时,空响应将转发给用户,而不是静态响应。

agent.setFollowupEvent() 的问题似乎在 0.6.2 中修复了,但我没有进行广泛的测试。

【问题讨论】:

    标签: dialogflow-es


    【解决方案1】:

    在反复失去理智之后,我不得不再次简单地添加控制台中定义的所有响应。我通过循环 consoleMessages 并添加它们来做到这一点。

    for (let response of agent.consoleMessages) agent.add(response);
    

    这似乎适用于所有 Intent,尽管可能需要进行一些进一步的测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多