抱歉,这个问题很愚蠢,但是我在使用Javascript或Dialogflow方面经验不足。我有一个Dialogflow机器人,它已通过Kommunicate集成到测试网站中。该机器人可以处理通过意图设置的响应,但是实现代码似乎无法运行,因为通过实现设置的任何响应都不会发生。通过内联编辑器对实现进行编码。
以下是通过意图设置的一些响应:
这是通过实现来设置的响应:
在这里,您可以通过Dialogflow控制台看到履行响应:
最后,在这里您可以看到它不适用于Kommunicate,但意图响应却可以:
我非常确定我的问题是,实现代码只是不在Kommunicate上运行,并且需要以我不知道的某种方式集成到Kommunicate中。有人知道我需要做什么吗?
编辑:我可能已经找到了原因。在履行文档的底部,它说:“从您的Firebase的Cloud Function发起的到Google网络外部目标的网络调用要求为基础Google Cloud或Firebase项目启用计费。”在试图说服老板花钱之前,有人能确认这是我需要做的吗?
答案 0 :(得分:5)
您无需启用计费即可使用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的更多信息。
如果仍然无法正常运行,请通过hello@kommunicate.io
发送查询。
PS:我为Kommunicate工作。