Obtenir le contexte spécifique de l’équipe pour votre robotGet Team's specific context for your bot

Important

Les exemples de code de cette section sont basés sur 4,6 et les versions ultérieures du kit de développement logiciel (SDK) de l’infrastructure bot.The code samples in this section are based on 4.6 and later versions of the Bot Framework SDK. Si vous recherchez de la documentation pour les versions antérieures, reportez-vous à la section SDK-v3 SDK dans le dossier Resources de la documentation.If you're looking for documentation for earlier versions, see the Bots - v3 SDK section in the Resources folder of the documentation.

Un bot peut accéder à des données de contexte supplémentaires sur une équipe ou une conversation dans laquelle il est installé.A bot can access additional context data about a team or chat it is installed in. Ces informations peuvent être utilisées pour enrichir les fonctionnalités du robot et fournir une expérience plus personnalisée.This information can be used to enrich the bot's functionality and provide a more personalized experience.

Extraction de la liste ou du profil utilisateurFetching the roster or user profile

Votre bot peut interroger la liste des membres et leurs profils de base, y compris les ID utilisateur teams et les informations Azure Active Directory (Azure AD), telles que nom et objectId.Your bot can query for the list of members and their basic profiles, including Teams user IDs and Azure Active Directory (Azure AD) information such as name and objectId. Vous pouvez utiliser ces informations pour corréler les identités des utilisateurs, par exemple, pour vérifier si un utilisateur s’est connecté à un onglet par le biais des informations d’identification Azure AD, est membre de l’équipe.You can use this information to correlate user identities, e.g., to check whether a user, logged into a tab through Azure AD credentials, is a member of the team. L’exemple de code ci-dessous utilise le point de terminaison paginé pour extraire la liste.The sample code below uses the paged endpoint for retrieving the roster. Bien que vous pouvez toujours utiliser la version non paginée, elle n’est pas fiable dans les grandes équipes et ne doit pas être utilisée.Although you may still use the non-paged version, it will be unreliable in large teams and should not be used. Pour plus d’informations, consultez cet article .See this article for additional information.

public class MyBot : TeamsActivityHandler
{
    protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
    {
        var members = new List<TeamsChannelAccount>();
        string continuationToken = null;

        do
        {
            var currentPage = await TeamsInfo.GetPagedMembersAsync(turnContext, 100, continuationToken, cancellationToken);
            continuationToken = currentPage.ContinuationToken;
            members.AddRange(currentPage.Members);
         }
         while (continuationToken != null);
     }
}

Obtenir les détails d’un membre uniqueGet single member details

Vous pouvez également récupérer les détails d’un utilisateur particulier à l’aide de son ID d’utilisateur Teams, de son UPN ou de son ID d’objet AAD.You can also retrieve the details of a particular user using their Teams user Id, UPN, or AAD Object Id.

public class MyBot : TeamsActivityHandler
{
    protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
    {
        var member = await TeamsInfo.GetMemberAsync(turnContext, turnContext.Activity.From.Id, cancellationToken);
    }
}

Obtenir les détails de l’équipeGet team's details

Lorsqu’il est installé dans une équipe, votre bot peut interroger des métadonnées sur cette équipe, y compris sur Azure AD groupId.When installed in a team, your bot can query for metadata about that team including the Azure AD groupId.

public class MyBot : TeamsActivityHandler
{
    protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
    {
        TeamDetails teamDetails = await TeamsInfo.GetTeamDetailsAsync(turnContext, turnContext.Activity.TeamsGetTeamInfo().Id, cancellationToken);
        if (teamDetails != null) {
            await turnContext.SendActivityAsync($"The groupId is: {teamDetails.AadGroupId}");
        }
        else {
            await turnContext.SendActivityAsync($"Message did not come from a channel in a team.");
        }
    }
}

Obtenir la liste des canaux dans une équipeGet the list of channels in a team

Votre robot peut interroger la liste des canaux d’une équipe.Your bot can query the list of channels in a team.

Notes

  • Le nom du canal général par défaut est renvoyé en tant que null pour permettre la localisation.The name of the default General channel is returned as null to allow for localization.
  • L’ID de canal pour le canal général correspond toujours à l’ID d’équipe.The channel ID for the General channel always matches the team ID.
public class MyBot : TeamsActivityHandler
{
    protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
    {
        IEnumerable<ChannelInfo> channels = await TeamsInfo.GetTeamChannelsAsync(turnContext, turnContext.Activity.TeamsGetTeamInfo().Id, cancellationToken);

        await turnContext.SendActivityAsync($"The channel count is: {channels.Count()}");
    }
}

Exemples de robots teamsTeams bot samples

Pour obtenir des exemples entièrement fonctionnels illustrant certaines de ces fonctionnalités, consultez les exemples teams de l’infrastructure bot.For a fully working samples demonstrating some of this functionality, check out the Teams samples for Bot Framework

ExempleSample DescriptionDescription .NET Core.NET Core JavaScriptJavaScript PythonPython
Bot de conversation teamsTeams Conversation Bot Gestion des événements de messagerie et de conversation.Messaging and conversation event handling. ViewView ViewView ViewView
Authentification avec OAuthPromptAuthentication with OAuthPrompt Authentification et messagerie de base dans bot Framework v4.Authentication and basic messaging in Bot Framework v4. ViewView ViewView ViewView
Chargement de fichiers teamsTeams File Upload Échange de fichiers avec un bot dans une conversation un-à-un.Exchanging files with a bot in a one-to-one conversation. ViewView ViewView ViewView
Module de tâcheTask Module Démonstration de la récupération d’un module de tâches et de ses valeurs à partir de cartes, pour une extension de messagerie.Demonstrating how to retrieve a Task Module and values from cards in it, for a Messaging Extension. ViewView ViewView ViewView
Démarrer un nouveau thread dans un canalStart new thread in a channel Démonstration de la création d’un nouveau thread dans un canal.Demonstrating how to create a new thread in a channel. ViewView ViewView ViewView