4

对不起,如果这个问题很愚蠢,但我还没有太多使用 Javascript 或 Dialogflow 的经验。我有一个通过 Kommunicate 集成到测试网站的 Dialogflow 机器人。该机器人使用通过意图设置的响应,但实现代码似乎没有运行,因为通过实现设置的任何响应都不会发生。实现是通过内联编辑器编码的。

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

意图

这是通过履行设置的响应:

履行

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

控制台响应

最后,在这里您可以看到它不能通过 Kommunicate 工作,但意图响应可以:

沟通回应

我很确定我的问题是实现代码没有在 Kommunicate 上运行,需要以某种我不知道的方式集成到 Kommunicate 中。有谁知道我需要做什么?

编辑:我可能已经找到了原因。在履行文档的底部,它说:“从您的 Cloud Function for Firebase 到 Google 网络之外的目的地的网络调用需要为底层的 Google Cloud 或 Firebase 项目启用计费。” 在我试图说服我的老板花钱之前,任何人都可以确认这是我需要做的吗?

4

1 回答 1

5

您无需启用计费即可使用 Dialogflow。Dialogflow 附带免费版,您可以在不启用计费的情况下开发和测试机器人。

Kommunicate 支持 Dialogflow 的默认响应以及自定义 webhook。直接使用默认响应。输入文本响应或kommunicate 支持的任何Actionable 消息Custom Payload,Kommunicate 将自动在聊天 UI 中呈现。

如果您为 Intent 启用了 webhook 调用,您可以使用fulfillmentTextfield 返回文本消息数组或fulfillmentMessagesfield 返回 Actionable 消息,如Dialogflow 文档中所述。

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 上呈现消息。您可以根据需要对此进行自定义。这是有关使用kommunicate 实现对话流的更多信息。

如果您仍然无法使其正常工作,请将您的查询发送至hello@kommunicate.io

PS:我为Kommunicate工作。

于 2018-07-29T12:06:21.660 回答