抱歉,这个问题很愚蠢,但是我在使用Javascript或Dialogflow方面经验不足。我有一个Dialogflow机器人,该机器人已通过Kommunicate集成到测试网站中。该机器人可以处理通过意图设置的响应,但是实现代码似乎无法运行,因为通过实现设置的任何响应都不会发生。通过内联编辑器对实现进行编码。

这是通过意图设置的一些响应:

bots - 如何在Kommunicate中使用Dialogflow的实现代码-LMLPHP

这是通过充实而做出的回应:

bots - 如何在Kommunicate中使用Dialogflow的实现代码-LMLPHP

在这里,您可以看到通过Dialogflow控制台进行的履行响应:

bots - 如何在Kommunicate中使用Dialogflow的实现代码-LMLPHP

最后,在这里您可以看到它不适用于Kommunicate,但意图响应却可以:

bots - 如何在Kommunicate中使用Dialogflow的实现代码-LMLPHP

我敢肯定,我的问题是履行代码并未在Kommunicate上运行,并且需要以我不知道的某种方式集成到Kommunicate中。有人知道我需要做什么吗?

编辑:我可能已经找到原因。在实现文档的底部,它说:“从您的Firebase的Cloud Function发起的到Google网络外部目标的网络调用要求为基础Google Cloud或Firebase项目启用计费。”在试图说服老板花钱之前,有人能确认这是我需要做的吗?

最佳答案

您无需启用计费即可使用Dialogflow。 Dialogflow随Free Edition一起提供,您可以在不启用计费的情况下开发和测试Bot。

Kommunicate支持Dialogflow的默认响应以及自定义webhook。使用默认响应非常简单。在Custom Payload中输入文本响应或kommunicate支持的任何Actionable message,Kommunicate将自动在聊天UI中呈现它。

如果已为Intent启用了webhook调用,则可以使用fulfillmentText字段返回文本消息数组,或者使用fulfillmentMessages字段返回消息,如Dialogflow docs中所述。

Kommunicate使用这些字段来确定将在UI中显示的消息。如果两个字段都存在,则两者都将在UI中呈现。这是一个示例,您的webhook响应如下所示:

{
    "fulfillmentText": "render a text message from webhook",
    "fulfillmentMessages": [{
      // message 1 (optional)- render actionable message
        "payload": {
            "message": "render a Actionable message from webhook",
            "platform": "kommunicate",
            "metadata": {
                // replace this with metadata JSON supported by kommunicate
            }
        }
    }, {
      // message 2 (optional)- render a text message
        "text": {
            "text": ["render array of  text message from webhook"]
        }
    }]
}


此JSON将在UI上呈现消息。您可以根据需要自定义。这是有关dialogflow fulfilment with kommunicate的更多信息。

如果仍然无法正常运行,请通过[email protected]发送查询。

PS:我为Kommunicate工作。

10-08 01:12