Abrufen des spezifischen Kontexts des Teams für Ihren botGet Team's specific context for your bot

Wichtig

Die Codebeispiele in diesem Abschnitt basieren auf 4,6 und höheren Versionen des bot Framework SDK.The code samples in this section are based on 4.6 and later versions of the Bot Framework SDK. Wenn Sie nach einer Dokumentation für frühere Versionen suchen, lesen Sie den Abschnitt Bots-V3 SDK im Ordner Resources der Dokumentation.If you're looking for documentation for earlier versions, see the Bots - v3 SDK section in the Resources folder of the documentation.

Ein Bot kann auf zusätzliche Kontextdaten zu einem Team oder Chat zugreifen, in dem es installiert ist.A bot can access additional context data about a team or chat it is installed in. Diese Informationen können verwendet werden, um die Funktionalität des bot zu bereichern und eine personalisierte Erfahrung zu bieten.This information can be used to enrich the bot's functionality and provide a more personalized experience.

Abrufen des Dienstplan-oder BenutzerprofilsFetching the roster or user profile

Ihr Bot kann eine Abfrage nach der Liste der Mitglieder und ihren grundlegenden Profilen durchführen, einschließlich Microsoft Teams-Benutzer-IDs und Azure Active Directory Informationen (Azure AD) wie Name und 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. Sie können diese Informationen verwenden, um Benutzeridentitäten zu korrelieren, beispielsweise um zu überprüfen, ob ein Benutzer, der bei einer Registerkarte über Azure AD Anmeldeinformationen angemeldet ist, Mitglied des Teams ist.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. Im folgenden Beispielcode wird der ausgelagerte Endpunkt zum Abrufen der Liste verwendet.The sample code below uses the paged endpoint for retrieving the roster. Obwohl Sie die nicht ausgelagerte Version möglicherweise weiterhin verwenden, ist Sie in großen Teams unzuverlässig und sollte nicht verwendet werden.Although you may still use the non-paged version, it will be unreliable in large teams and should not be used. Weitere Informationen finden Sie in diesem Artikel .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);
     }
}

Einzelne Element Details abrufenGet single member details

Sie können die Details eines bestimmten Benutzers auch mithilfe der jeweiligen Teams-Benutzer-ID, UPN-oder Aad-Objekt-ID abrufen.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);
    }
}

Teamdetails abrufenGet team's details

Wenn Ihr bot in einem Team installiert ist, kann er Metadaten zu diesem Teamabfragen, einschließlich der Azure Ad Gruppen-Nr.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.");
        }
    }
}

Abrufen der Liste der Kanäle in einem TeamGet the list of channels in a team

Ihr Bot kann die Liste der Kanäle in einem Teamabfragen.Your bot can query the list of channels in a team.

Hinweis

  • Der Name des standardmäßigen allgemeinen Kanals wird zurückgegeben null , um die Lokalisierung zu ermöglichen.The name of the default General channel is returned as null to allow for localization.
  • Die Kanal-ID für den allgemeinen Kanal stimmt immer mit der Team-ID überein.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()}");
    }
}

Beispiele für Teams-botTeams bot samples

Eine voll funktionsfähige Beispiele, in denen einige dieser Funktionen veranschaulicht werden, finden Sie in den Microsoft Teams-Beispielen für bot FrameworkFor a fully working samples demonstrating some of this functionality, check out the Teams samples for Bot Framework

BeispielSample BeschreibungDescription .NET Core.NET Core JavaScriptJavaScript PythonPython
Teams-Unterhaltungs botTeams Conversation Bot Ereignisbehandlung bei Messaging und Unterhaltung.Messaging and conversation event handling. ViewView ViewView ViewView
Authentifizierung mit OAuthPromptAuthentication with OAuthPrompt Authentifizierung und Grundlegendes Messaging in bot Framework v4.Authentication and basic messaging in Bot Framework v4. ViewView ViewView ViewView
Hochladen von Teams-DateienTeams File Upload Austauschen von Dateien mit einem bot in einer 1:1-Unterhaltung.Exchanging files with a bot in a one-to-one conversation. ViewView ViewView ViewView
AufgabenmodulTask Module Demonstrieren, wie ein Aufgabenmodul und Werte von Karten darin für eine Messaging Erweiterung abgerufen werden.Demonstrating how to retrieve a Task Module and values from cards in it, for a Messaging Extension. ViewView ViewView ViewView
Neuen Thread in einem Kanal startenStart new thread in a channel Demonstrieren, wie ein neuer Thread in einem Kanal erstellt wird.Demonstrating how to create a new thread in a channel. ViewView ViewView ViewView