2

我正在使用 Dialogflow CX 构建一个机器人,我想获取整个脚本,尤其是在触发特定意图时用户响应的文本消息。

我正在使用 Node.js 服务器从 React 应用程序与机器人进行通信。

4

2 回答 2

1

一种方法是使用 webhook 实现将数据传递到 Dialogflow cx 机器人平台,并将其存储为您想要的格式。

另一种方法是连接任何支持 Dialogflow 集成的第三方工具。有一个聊天记录功能,可以将整个记录发送到您想要的电子邮件。

有关更多详细信息和设置,请参阅此文档

于 2021-08-11T11:08:12.643 回答
0

如果我理解正确,您会尝试在机器人和用户之间进行对话。为此,您应该使用 Webhook-Integration,它将请求消息发送到您的 Webhook。在您的 Webhook 中,您可以随意保存 json 请求或对其进行编辑。例如在 python 中:

import json

def cx_debug_json(request):

  request_json = request.get_json()
  
  with open("conversation", 'w') as json_file:
    json.dump(request_json, json_file)

您的文件应该具有不同规格的 json 格式。如果您只需要特定的文本字符串,则必须编辑 request_json。例如删除特定参数:

if "fulfillmentResponse" in request_json.keys():
    response_json["fulfillment_response"] = request_json["fulfillmentResponse"]
if "pageInfo" in request_json.keys():
    response_json["page_info"] = request_json["pageInfo"]
if "payload" in request_json.keys():
    response_json["payload"] = request_json["payload"]
if "sessionInfo" in request_json.keys():
    response_json["session_info"] = request_json["sessionInfo"]
    if "parameters" in response_json["session_info"].keys():
        if target_parameter in response_json["session_info"]["parameters"].keys():
            response_json["session_info"]["parameters"][target_parameter] = None

现在您需要找出文本字符串的键名(简单调试来自 webhook 的传入请求),然后根据需要编辑或提取它们。

于 2021-01-22T13:20:39.947 回答