【发布时间】:2019-02-03 04:34:20
【问题描述】:
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
if (activity.Type == ActivityTypes.Message)
{
Activity isTypingReply = activity.CreateReply();
isTypingReply.Type = ActivityTypes.Typing;
await connector.Conversations.ReplyToActivityAsync(isTypingReply);
StateClient sc = activity.GetStateClient();
BotData userData = await sc.BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id); // have to check on monday
if (!userData.GetProperty<bool>("ChannelUserData"))
{ // fetch user details
以上 sn-p 从 MS Bot SDK 1.x 应用程序更新状态中的用户数据。现在我正在尝试将旧机器人应用程序升级到 Microsoft Bot SDK 3.x。我正在使用 Cosmos Db 来存储状态值。
如何使用 channelId 和 From Id 存储或更新用户数据?获取用户详细信息后,我会将其更新为await sc.BotState.SetUserDataAsync(activity.ChannelId, activity.From.Id, userData);
一年后,我重新打开了 Microsoft 应用程序并对其进行了很多更改。所以,我无法获取正确的文档。有人可以帮助/指导我使用 Cosmos DB 的状态存储过程吗?
【问题讨论】:
-
看看this 可能会有帮助
标签: c# azure botframework azure-cosmosdb