我使用Microsoft Bot Framework制作了一个聊天机器人,它可以回答用户的问题。当机器人无法回答用户的问题时,我希望能够将用户问题重定向到Skype上的客户代表。
Skype上的人将看到用户发布的消息,他的答案将发送给用户。
我需要一些关于如何实现此连接的建议(来自用户< - > chatbot< - > SkypecustomerRep)
编辑: 我想到了使用http://docs.botframework.com/connector/new-conversations/#navtitle
中的命令的想法我认为当LuisIntent结果为None时,我会通过以下方式向Skype发送消息:
var connector = new ConnectorClient();
var message = new Message
{
From = new ChannelAccount(channelId: ""),
To = new ChannelAccount() {ChannelId = "Skype", Address = "xyz@abc.com"},
Text = result.Query,
Language = "en"
};
电子邮件是Skype ID。我无法弄清楚From字段中应该包含什么内容(channelId,我的机器人的地址是什么)
编辑:
我现在可以将一条消息传递给Skype,但是当Skype用户回复时,我发现答复没有立即呈现给机器人框架用户。换句话说,当用户在聊天窗口中输入内容时,他会从机器人(如预期)和Skype用户的延迟消息中获得响应。
答案 0 :(得分:0)
如果您希望客户支持代表拥有足够的上下文(即,查看的不仅仅是用户发布的最新文本),您将需要构建自己的客户支持界面,以记录对话并突出显示这需要人类的关注。通常人们会使用DirectLine构建自己的客户端或连接现有的客户支持客户端(也使用DirectLine)。然后机器人直接将支持代表的回复传递给最终用户。
this previous answer中可以看到一些其他细节。