我正在制作一个目前正在使用Google Hangout Chat的Chatbot,但会将其移植到其他聊天平台上。
聊天代码在Node.js后端处理,Intent标识使用DialogFlow的Nodejs API完成。
环聊聊天响应如下:
{
thread: {
name: thread.name
},
text: 'The response in text',
cards:['List of cards to show data']
}
数据工作正常,但我仍然在解析从DialogFlow获得的响应并决定响应的text
属性。选择作为text
属性发送有两个选项。一个是queryResult.fulfillmentText
,它只是一个字符串,很容易分配给text
属性,而另一个是queryResult.fulfillmentMessages
,它是一个包含相同文本的对象数组。这就是我的情况:
"fulfillmentText": "We could find few matching products based on your query",
"fulfillmentMessages": [
{
"text": {
"text": [
"We could find few matching products based on your query"
]
}
},
{
"text": {
"text": [
"2nd text"
]
}
}
],
我的问题是我应该在fulfillmentText
和fulfillmentMessages
之间使用什么?两者之间有什么区别。为什么有多个文本/消息,因为Hangout Chat只需要一个文本响应?
PS:我正在使用DialogFlow V2 API
答案 0 :(得分:0)
- fulfillmentText(String)要发送给用户或显示在屏幕上的文本。
- fulfillmentMessages(Object)收集rich messages以显示用户。
所以我应该使用fulfillmentText
作为环聊聊天响应的text
属性发送。 fulfillmentMessages
用于“Rich Messages”,例如我从我的数据库生成的卡片。