Предоставление общего доступа к отзыву:
Мы хотели бы ваши отзывы о документации разработчика Microsoft Teams. Ответьте на наш короткий трехпрошенный опрос.Пройти опрос
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Эта статья основана на пакете SDK Bot Framework версии 3. Если вы ищете текущую документацию по пакету SDK версии 4.6 или более поздней, см. раздел Боты для бесед.
Бот может получить доступ к дополнительному контексту о команде или чате, например к профилю пользователя. Эти сведения можно использовать для расширения функциональных возможностей бота и обеспечения более персонализированного взаимодействия.
Примечание
Api ботов Microsoft Teams лучше всего доступны через наши расширения для пакета SDK Bot Builder.
Для Node.js разработки функции Bot Builder для Teams включены в пакет SDK Bot Framework версии 4.6.
Получение списка команды
Бот может запрашивать список участников команды и их базовые профили. Основные профили включают идентификаторы пользователей Teams и сведения Microsoft Entra, такие как имя и идентификатор объекта. Эти сведения можно использовать для сопоставления удостоверений пользователей. Например, проверьте, является ли пользователь, вошедший на вкладку с помощью учетных данных Microsoft Entra, членом команды.
Пример REST API
Непосредственно выполните запрос GET для /conversations/{teamId}/members/, используя serviceUrl значение в качестве конечной точки.
Объект teamId можно найти в объекте channeldata полезных данных действия, получаемых ботом в следующих сценариях:
Когда пользователь отправляет сообщения или взаимодействует с ботом в контексте команды. Дополнительные сведения см. в разделе Получение сообщений.
Всегда используйте идентификатор команды при вызове API.
Значение serviceUrl , как правило, является стабильным, но может изменяться. При поступлении нового сообщения бот должен проверить его хранимое serviceUrl значение.
Вызовите GetConversationMembersAsync с помощью Team.Id , чтобы вернуть список идентификаторов пользователей.
Вызовите GetConversationMembersAsync , чтобы получить userRole свойство, возвращающее значение от имени пользователя.
C#
// Fetch the members in the current conversationvar connector = new ConnectorClient(new Uri(context.Activity.ServiceUrl));
var teamId = context.Activity.GetChannelData<TeamsChannelData>().Team.Id;
var members = await connector.Conversations.GetConversationMembersAsync(teamId);
// Concatenate information about all members into a stringvar sb = new StringBuilder();
foreach (var member in members.AsTeamsChannelAccounts())
{
sb.AppendFormat(
"GivenName = {0}, TeamsMemberId = {1}",
member.Name, member.Id);
sb.AppendLine();
}
// Post the member info back into the conversationawait context.PostAsync($"People in this conversation: {sb.ToString()}");
пример Node.js или TypeScript
TypeScript
[...]
import * as builder from"botbuilder";
[...]
var teamId = session.message.sourceEvent.team.id;
connector.fetchMembers(
(<builder.IChatConnectorAddress>session.message.address).serviceUrl,
teamId,
(err, result) => {
if (err) {
session.endDialog('There is some error');
}
else {
session.endDialog('%s', JSON.stringify(result));
}
}
);
Получение профиля пользователя или списка пользователей в личном или групповом чате
Вы можете вызвать API для любого личного чата, чтобы получить сведения о профиле пользователя в чате с ботом.
Вызов API, методы ПАКЕТА SDK и объект ответа идентичны получению списка команды. Единственное отличие заключается в том, что вы передаете conversationId вместо teamId.
Получение списка каналов в команде
Бот может запрашивать список каналов в команде.
Примечание
Имя общего канала по умолчанию возвращается в качестве null, чтобы разрешить локализацию.
Идентификатор канала для общего канала всегда совпадает с идентификатором команды.
Пример REST API
Непосредственно выполните запрос GET для /teams/{teamId}/conversations/, используя serviceUrl значение в качестве конечной точки.
Единственным источником является teamId сообщение из контекста команды. Это сообщение является сообщением от пользователя или сообщением, которое бот получает при добавлении в команду. Дополнительные сведения см. в статье Бот или пользователь, добавленный в команду.
Примечание
Значение serviceUrl , как правило, является стабильным, но может изменяться. При поступлении нового сообщения бот должен проверить его хранимое serviceUrl значение.
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о Platform Docs
Platform Docs — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Продемонстрировать навыки для планирования, развертывания, настройки и управления Microsoft Teams, чтобы сосредоточиться на эффективной и эффективной совместной работе и взаимодействии в среде Microsoft 365.
В этом модуле вы узнаете, как обрабатывать события в ботах для Microsoft Teams, добавлении участника или бота Teams, удалении участника команды или бота и т. д.
Получение контекста Teams для бота, получение профиля пользователя, получение сведений о отдельном участнике, группе, списке каналов в команде. Пример при создании нового потока канала.