【发布时间】:2018-02-27 15:29:25
【问题描述】:
我想用机器人框架创建一个对话框。我的步骤:
使用 Direct Line API 创建新对话(正常工作)(客户端)
-
在 Bot 框架(服务器端)中触发以下对话框:
bot.dialog('*:notification', [ function (session, args) { builder.Prompts.text(session, args) }, function (session, results) { logger.info('Results', results) }]) -
我想回复收到的消息(客户端)
method:'post', url:'conversations/' + conversationId + '/activities', headers:{ 'Authorization': 'Bearer' + token } body:{ replyToId: replyToId, type:'message', from: { id:'myId' }, text: 'Some simple text', textFormat: 'plain' }
conversationId:我使用创建对话时收到的那个
令牌:我使用创建对话时收到的令牌
replyToId:来自活动对象的那个
实际结果:
- Botframework 无法识别这是对消息发送的回复并触发默认处理程序。
预期结果:
- Bot Framework 触发对话框的第二步。
【问题讨论】:
-
我在使用 C# DirectLineClient 时遇到了完全相同的问题。希望答案适用于两者,但至少同时知道你并不孤单。
-
我认为 HTTP 调用有问题。不知何故,replyToId 被忽略了。可能我需要以另一种方式发送它。我在服务器端找到了其余的 api 集成。但客户端没有类似的:docs.microsoft.com/en-us/bot-framework/rest-api/…
-
我的评论更新:在我的情况下,问题只是我正在重新生成 from:id 与每条新消息......所以是的,机器人不认为我的回复提示来自同一个人。嗬!原海报中可能有类似的东西?
-
@bojingo 您的请求如何?你如何发送回复id?机器人框架仍会在我的应用程序中创建一个新对话框。
-
@FLG 你还在遇到这个问题吗?只是为了验证,但是用户第二次响应中的地址和 conversationId 是否与机器人第一次响应用户时相同?
标签: node.js botframework direct-line-botframework