抱歉,这个问题很愚蠢,但是我在使用Javascript或Dialogflow方面经验不足。我有一个Dialogflow机器人,该机器人已通过Kommunicate集成到测试网站中。该机器人可以处理通过意图设置的响应,但是实现代码似乎无法运行,因为通过实现设置的任何响应都不会发生。通过内联编辑器对实现进行编码。
这是通过意图设置的一些响应:
这是通过充实而做出的回应:
在这里,您可以看到通过Dialogflow控制台进行的履行响应:
最后,在这里您可以看到它不适用于Kommunicate,但意图响应却可以:
我敢肯定,我的问题是履行代码并未在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工作。