我对环聊有疑问。我会向你解释这个场景,以便你更好地理解
- 我有用于用户聊天的环聊(频道)
- 我有一个用 Dialogflow 实现的机器人
- 我将履行连接到机器人,为用户创建定制的答案。
我想创建一个按钮列表或卡片,以便当用户点击时,他点击的选项被发送到履行并在那里处理。
有人知道有什么方法可以做到这一点吗?
流程 1) 用户在环聊中写“你好”
2)这个消息(“hello”)被发送到 dialogflow,然后处理该消息并将其发送到 fullfillment。
3) 在实现中,响应以 json 格式详细说明(稍后您将看到)。在这个答案中包含一个名为 onClick 的对象,其中有另一个名为 action 的对象,其中包含另一个名为 actionMethodName 的对象,您可以在其中定义您想去的地方(在这种情况下,将用户重定向到另一个 INTENT 是理想的)
问题是,当您单击该按钮时,您会收到一条消息“无法联系您的机器人。请稍后再试。”
我想要的是,一旦用户点击它,机器人就会识别出事件(CARD_CLICKED)并将他带到另一个意图
CustomPayload: function () {
return {
"actionResponse": {
"type": 'CARD_CLICKED'
},
"payload": {
"hangouts": {
"sections": [
{
"widgets": [
{
"textParagraph": {
"text": "<b>Roses</b> are <font color=\"#ff0000\">red</font>,<br><i>Violets</i> are <font color=\"#0000ff\">blue</font>"
}
},
{
"buttons": [
{
"textButton": {
"text": "NEXT INTENT",
"onClick": {
"action": {
"actionMethodName": "intent",
"parameters": []
}
}
}
}
]
}
]
}
],
"header": {}
}
},
"platform": "GOOGLE_HANGOUTS"
}
}