Как получить пользовательский контекст из личного сообщения Teams, используя MS Bot Framework - PullRequest
0 голосов
/ 25 января 2019

В настоящее время я внедряю бота Teams, который должен получить имя пользователя (имя и фамилию) и адрес электронной почты пользователя, который общается с ботом через личный чат.

Я использую SDK v4 платформы бота и пытался реализовать упомянутый здесь подход (https://github.com/OfficeDev/BotBuilder-MicrosoftTeams-dotnet).. Единственный параметр, возвращаемый при извлечении контекста команд, - это идентификатор клиента. И канал, и команда пуста (я полагаю, это потому, что я в приватном чате?).

Поскольку у меня теперь есть идентификатор арендатора из контекста команд, как я могу использовать его для получения информации о пользователе?

Чтобы получить контекст Команды, я звоню по следующему номеру:

ITeamsContext teamsContext = turnContext.TurnState.Get<ITeamsContext>();

1 Ответ

0 голосов
/ 25 января 2019

После получения идентификаторов с помощью объекта ITeamsContext вам необходимо использовать эти идентификаторы для полного заполнения объекта Teams.Вы можете сделать это с помощью метода Operations.FetchTeamDetailsAsync.

Чтобы получить список участников в беседе, вы будете использовать метод GetConversationParametersForCreateOrGetDirectConversation ().# epicmethodname.

using Microsoft.Bot.Builder.Teams;
using Microsoft.Bot.Schema.Teams;
using Microsoft.Bot.Connector.Teams;
...
ConversationList channels = await teamsContext.Operations.FetchChannelListAsync(incomingTeamId);

TeamDetails teamInfo = await teamsContext.Operations.FetchTeamDetailsAsync(incomingTeamId);

var roster = teamsContext.GetConversationParametersForCreateOrGetDirectConversation(turnContext.Activity.From).Members;

List<TeamsChannelAccount> rosterTC = roster.ToList().ConvertAll(member =>
  {
    return teamsContext.AsTeamsChannelAccount(member);
  });

await turnContext.SendActivityAsync($"You have {roster.Count} number of people in this group. You are {from.Name}");

Справку по началу работы и дополнительные ресурсы можно найти здесь: https://developer.microsoft.com/en-us/office/blogs/preview-release-of-net-teams-bot-builder-v4-sdk/

...