为什么BotUserData在我的Bot Framework bot中持久存取并可检索?

时间:2016-06-23 16:14:33

标签: c# botframework chatbot

我正在使用带有用户ID的虚拟消息为特定用户设置BotUserData,以便机器人可以通过相同的方法在其他地方访问它。

示例:

900

后来 当另一个用户与机器人交互时,我执行

        message.From.Id = someUserId;            
        message.SetBotUserData("someObject", someObject);

但someObject返回为NULL

请注意,这两个代码段正在不同的渠道,对话

上执行

我使用它错了吗?

1 个答案:

答案 0 :(得分:1)

每个频道上的userId不同(即Skype / Slack使用不同的命名空间)。 BotFramework目前不提供在渠道之间链接帐户的方法。您可以创建一个允许用户链接帐户的用户界面(例如,通过在一个渠道中生成令牌并让用户将其键入另一个渠道)。

<SLACK-USER> Get Link code
<SLACK-BOT> Link Code: FSE1-SDF2

<SKYPE-USER> Link account FSE1-SDF2
<SKYPE-BOT>  User linked

然后,您想要创建自己的数据存储,您可以使用您提供的令牌访问该数据存储。