使用 Microsoft bot-builder 查找特定用户的地址

Find the address of a specific user using Microsoft bot-builder

我想在 Skype for Business 频道上使用 Microsoft Bot Builder 与用户进行新对话。我唯一的信息是用户 ID (sip:user@domain.com)

在我能找到的所有示例中,需要保存用户在之前对话中的对话 id/address 才能向该用户发送新消息。

如何为只知道用户 ID 的用户创建新对话作为机器人?

谢谢

就像您所说的那样,需要 userId 才能向用户发送消息。框架可以创建一个新的对话,但最终,如果没有 userId,你将无法做任何事情,要获得它,用户必须先联系你的机器人。这仅适用于 Skype 等渠道。电子邮件等其他渠道仅使用电子邮件地址作为 ID。 Skype 使用 GUID 作为其用户的 ID。这样做是为了让机器人无法随机将自己添加到 Skype 上的任何用户。 Source

这并不意味着您必须等待用户开始对话。每当用户将机器人添加到他们的联系人列表时,都会向机器人发送一个事件。这是 ContactRelationUpdate 事件。它会警告机器人用户已添加该机器人,然后机器人可以做出相应的响应。引发此事件后,您可以从 activity 获取 userId 并用它做任何您想做的事。 Source