【问题标题】:Find the address of a specific user using Microsoft bot-builder使用 Microsoft bot-builder 查找特定用户的地址
【发布时间】:2017-05-29 09:11:34
【问题描述】:
我想在 Skype for Business 频道上使用 Microsoft Bot Builder 与用户开启新的对话。我拥有的唯一信息是用户 ID (sip:user@domain.com)
在我能找到的所有示例中,需要保存用户在先前对话中的对话 ID/地址,以便向该用户发送新消息。
如何以机器人的形式向只知道其 ID 的用户创建新对话?
谢谢
【问题讨论】:
标签:
botframework
skype-for-business
【解决方案1】:
就像您所说的那样,需要 userId 才能向用户发送消息。框架可以创建一个新对话,但最终,如果没有 userId,您将无法做任何事情,并且要获得此用户必须先联系您的机器人。这仅适用于 Skype 等频道。电子邮件等其他渠道仅使用电子邮件地址作为 id。 Skype 使用 GUID 作为其用户的 ID。这样做是为了让机器人无法将自己随机添加到 Skype 上的任何用户。 Source
这并不意味着您必须等待用户开始对话。每当用户将机器人添加到他们的联系人列表时,就会向机器人发送一个事件。这是ContactRelationUpdate 事件。它会警告机器人用户添加了机器人,然后机器人可以做出相应的响应。引发此事件后,您可以从活动中获取 userId 并使用它做任何您想做的事情。 Source