Botframework Skype bot未显示来自webhook的响应,但显示api ai中嵌入的自定义负载的正确结果
您好,我正在skype中使用api.ai或dialogflow(现在称为dialogflow)构建一个机器人。无论如何,这是我的自定义负载:Botframework Skype bot未显示来自webhook的响应,但显示api ai中嵌入的自定义负载的正确结果,botframework,webhooks,dialogflow-es,skype-bots,Botframework,Webhooks,Dialogflow Es,Skype Bots,您好,我正在skype中使用api.ai或dialogflow(现在称为dialogflow)构建一个机器人。无论如何,这是我的自定义负载: { "skype": { "type": "", "attachmentLayout": "", "text": "", "attachments": [ { "contentType": "", "content": { "title": "", "images": [ {
{
"skype": {
"type": "",
"attachmentLayout": "",
"text": "",
"attachments": [
{
"contentType": "",
"content": {
"title": "",
"images": [
{
"url": ""
}
],
"buttons": [
{
"type": "",
"title": "",
"value": ""
}
]
}
}
]
}
}
下面是我的webhook回应:
"data": {
"skype": {
"type": "message",
"attachmentLayout": "carousel",
"text": "Here you go!",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.hero",
"content": {
"title": "Italian Cassoulet (Italian Chili)",
"images": [
{
"url": "http://img.food.boxspace.in/image/rbk_57139479f2705/hdpi.jpg"
}
],
"buttons": [
{
"type": "openUrl",
"title": "View Recipe",
"value": "http://recipebk.com/Share.html#url=rbk_57139479f2705"
}
]
}
}
]
}
}
}
现在,如果我嵌入这个响应,我会在skype上得到一个卡片旋转木马的结果。但是当我用我的webhook尝试同样的方法时,不会显示任何消息。有人能告诉我我做错了什么吗?已经检查了这个和这个,但是到目前为止还没有用。好吧,如果我得到了正确的答案,在API.ai在线控制台上创建响应是可行的,但是当您从webhook生成json时,它会失败吗 仅供参考,测试可能有点困难,但在联机控制台中,您可以单击右侧的“默认响应”,在此处测试您对“skype”的意图。这样,您可以查看底部的错误消息,查看是否存在任何错误以及原因 现在已经排除了这个问题,即使文档中说应该在数据字段中嵌入来自webhook的定制有效负载,我也不这么认为。我只是按照API.ai生成响应的完全相同的方式,重写webhook响应中的消息字段。由于示例不仅仅是文字,我将为您提供完整的webhook响应,为我的一个聊天机器人意图创建两个RichCard列表。正如您所注意到的,我将所有内容都放在Json的消息字段中
{
"speech": "",
"displayText": "",
"data": {
},
"contextOut": [
],
"source": "Webhook",
"messages": [
{
"type": 4,
"platform": "skype",
"speech": "",
"payload": {
"skype": {
"attachmentLayout": "list",
"attachments": [
{
"contentType": "application\/vnd.microsoft.card.hero",
"content": {
"title": "Unit 2A",
"subtitle": "",
"text": "These timeslots are available for 2017-10-16",
"images": [
],
"buttons": [
{
"type": "imBack",
"title": "from 13:00 until 14:00 Unit 2A",
"value": "from 13:00 until 14:00 Unit 2A"
},
{
"type": "imBack",
"title": "from 14:00 until 15:00 Unit 2A",
"value": "from 14:00 until 15:00 Unit 2A"
},
{
"type": "imBack",
"title": "from 15:00 until 16:00 Unit 2A",
"value": "from 15:00 until 16:00 Unit 2A"
}
]
}
},
{
"contentType": "application\/vnd.microsoft.card.hero",
"content": {
"title": "Unit 1",
"subtitle": "",
"text": "These timeslots are available for 2017-10-16",
"images": [
],
"buttons": [
{
"type": "imBack",
"title": "from 13:00 until 14:00 Unit 1",
"value": "from 13:00 until 14:00 Unit 1"
},
{
"type": "imBack",
"title": "from 14:00 until 15:00 Unit 1",
"value": "from 14:00 until 15:00 Unit 1"
},
{
"type": "imBack",
"title": "from 15:00 until 16:00 Unit 1",
"value": "from 15:00 until 16:00 Unit 1"
},
{
"type": "imBack",
"title": "from 16:00 until 17:00 Unit 1",
"value": "from 16:00 until 17:00 Unit 1"
}
]
}
}
]
}
}
}
]
}
但是请注意,API.ai将以这种方式覆盖消息并将其传递给skype。有关richcards的更多信息,请阅读:并在api.ai webhook中使用Json结构
我给出了完整的示例,因为我很难按照您提供问题的方式测试您的设置,而且API.ai在某些情况下是一个黑盒,具有未记录的功能…非常感谢您的回复。首先,当我选择右边的Skype选项时,收到/显示的响应为“不可用”。我将再次尝试查看json,然后尝试覆盖“消息”。谢谢!当我超载消息时,它工作了!:D