我想在Skype for Business频道上使用Microsoft Bot Builder与用户开启新的对话。我拥有的唯一信息是用户ID(sip:user@domain.com)
在我能找到的所有示例中,需要在先前的会话中保存用户的会话ID /地址,以便向该用户发送新消息。
如何向只知道他的身份的用户创建一个新的会话作为机器人?
由于
答案 0 :(得分:1)
如您所述,userId需要向用户发送消息。框架可以创建一个新的对话,但最终,没有userId你就无法做任何事情,为了获得这个,用户必须首先联系你的机器人。这仅适用于像Skype这样的渠道。其他渠道如电子邮件只是使用电子邮件地址作为身份证。 Skype使用GUID作为其用户的ID。这样做是因为机器人不能随意将自己添加到Skype上的任何用户。 Source
这并不意味着您必须等待用户开始对话。每当用户将机器人添加到他们的联系人列表时,事件就会发送到机器人。这是ContactRelationUpdate
事件。它警告机器人用户已添加机器人,然后机器人可以相应地做出响应。抛出此事件后,您可以从活动中获取userId并使用它执行任何操作。 Source