我使用Microsoft Bot Framework中的Bot Connector REST API编写了一个机器人,并通过本地主机上的Bot Framework Emulator V3.5.25进行了测试,并使用app id和app password远程测试,它工作得非常完美;但是使用Skype Channels 我可以在我的终端上收到消息,但机器人的答案永远不会到达Skype用户 .
来自Skype用户的传入消息
{
"text": "Hello bot?",
"type": "message",
"timestamp": "2017-03-03T19:08:30.988Z",
"id": "1488568110992",
"channelId": "skype",
"serviceUrl": "https://smba.trafficmanager.net/apis/",
"from": {
"id": "29:1rILOvqsAlldnM1C4nK30sdjpveZezKC9LX5yYAvyi_k",
"name": "Skype User"
},
"conversation": {
"id": "29:1rILOvqsAlldnM1C4nK30sdjpveZezKC9LX5yYAvyi_k"
},
"recipient": {
"id": "28:e20620eb-b214-4b02-8de1-c7fd14c11005",
"name": "My_bot"
},
"entities": [{
"locale": "es-ES",
"platform": "Windows",
"type": "clientInfo"
}]
}
来自我的机器人的传出消息
{
"type": "message",
"text": "Bot is Ok",
"replyToId": "1488568110992",
"locale": "es",
"channelId": "skype",
"serviceUrl": "https://smba.trafficmanager.net/apis/",
"from": {
"id": "28:e20620eb-b214-4b02-8de1-c7fd14c11005",
"name": "My_bot"
},
"conversation": {
"id": "29:1rILOvqsAlldnM1C4nK30sdjpveZezKC9LX5yYAvyi_k"
},
"recipient": {
"id": "29:1rILOvqsAlldnM1C4nK30sdjpveZezKC9LX5yYAvyi_k",
"name": "Skype User"
}
}
我没有收到来自Bot Framework的json有效负载响应,只是这个状态: 400 Bad Request . 仅出于测试目的,我的机器人发送了一个带有一些缺失参数的响应和具有相同状态的Bot Framework响应以及带有错误消息代码和文本的json有效负载 .
我没有发布我的机器人,但根据Bot Framework文档,没有必要 .
我错过了什么?有人有想法吗?
提前致谢 .
2 回答
是的,不需要发布skype bot来工作 . 我想建议你几个检查点,并检查你是否已经尝试过:
Bot Framework Developer Portal包含一个测试面板,您可以在其中测试从Bot Connector服务到机器人的连接 . Bot Connector使用的安全模型与模拟器使用的安全模型略有不同,这是测试机器人身份验证的最现实的步骤 .
按照以下步骤在启用安全性的情况下在 Cloud 中测试您的机器人:确保您的机器人已部署并运行
登录Bot Framework Developer Portal,单击“我的机器人”,如有必要,从列表中选择要调试的机器人 .
找到屏幕左下角的测试面板,然后单击蓝色的“测试”按钮 . 测试结果显示在按钮下方 .
请在Skype Developer Portal上查看机器人的状态 .
如果机器人具有待审核状态 . 当状态在"Pending Review"时,看起来机器人将无法工作 . 检查这个screenshot . 机器人只有在发布之前看起来是like this才能成功注册 .
如果您还有任何问题,请详细告诉我 .
谢谢
-Jyo
对不起,问题解决了 .
承载方案格式不好,而不是承载,有承载 .
改变了一切,一切正常 .
真对不起 .