Freigeben über


Ein Befehlsmenü erstellen

Hinweis

Wir haben die Benutzeroberfläche des Befehlsmenüs als Eingabeaufforderungsstarter verbessert. Es wird empfohlen, auf Eingabeaufforderungsstarter zu verweisen.

Um eine Reihe von Kernbefehlen zu definieren, auf die Ihr Bot reagieren kann, können Sie ein Befehlsmenü mit einer Dropdownliste von Befehlen für Ihren Bot hinzufügen. Die Liste der Befehle wird den Benutzern im Nachrichtenbereich zum Verfassen angezeigt, wenn sie mit Ihrem Bot in Verbindung stehen. Wählen Sie einen Befehl aus der Liste aus, um die Befehlszeichenfolge in das Feld zum Verfassen von Nachrichten einzufügen, und wählen Sie Senden aus.

Ein Befehlsmenü für Ihren Bot erstellen

Hinweis

Es wird empfohlen, einen Befehlsbot zu erstellen, indem Sie die Schritt-für-Schritt-Anleitung zum Erstellen eines Befehlsbots mit JavaScript mithilfe des Entwicklungstools der neuen Generation für Teams ausführen. Weitere Informationen zum Teams-Toolkit finden Sie unter Teams Toolkit Overview for Visual Studio Code und Teams Toolkit overview for Visual Studio (Übersicht über das Teams-Toolkit für Visual Studio).

Wichtig

Die Codebeispiele in diesem Abschnitt basieren auf Version 4.6 und höheren Versionen des Bot Framework SDK. Wenn Sie nach Dokumentation zu früheren Versionen suchen, lesen Sie den Abschnitt bots – v3 SDK im Ordner Legacy SDKs der Dokumentation.

Befehlsmenüs werden in Ihrem App-Manifest definiert. Sie können sie entweder über das Entwicklerportal erstellen oder manuell im App-Manifest hinzufügen.

Erstellen eines Befehlsmenüs für Ihren Bot mithilfe des Entwicklerportals

Eine Voraussetzung zum Erstellen eines Befehlsmenüs für Ihren Bot besteht darin, dass Sie ein vorhandenes App-Manifest bearbeiten müssen. Die Schritte zum Hinzufügen eines Befehlsmenüs sind identisch, unabhängig davon, ob Sie ein neues Manifest erstellen oder ein vorhandenes bearbeiten.

So erstellen Sie mithilfe des Entwicklerportals ein Befehlsmenü für Ihren Bot:

  1. Öffnen Sie Teams, und wählen Sie im linken Bereich Apps aus. Suchen Sie auf der Seite Apps nach Entwicklerportal, und wählen Sie dann Öffnen aus.

    Screenshot: Hinzufügen des Entwicklerportals im Teams-Client

  2. Wählen Sie im Entwicklerportal die Registerkarte Apps aus. Wenn Sie über kein vorhandenes App-Paket verfügen, können Sie eine vorhandene App erstellen oder importieren. Weitere Informationen finden Sie unter Entwicklerportal für Teams.

  3. Wählen Sie die Registerkarte Apps aus, wählen Sie im linken Bereich App-Features und dann Bots aus.

  4. Wählen Sie im Abschnitt Befehledie Option Befehl hinzufügen aus.

    Screenshot: Hinzufügen eines Befehls für Ihren Bot im Entwicklerportal

  5. Geben Sie den Befehl ein, der als Befehlsmenü für Ihren Bot angezeigt wird.

  6. Geben Sie die Beschreibung ein, die unter dem Befehlstext im Menü angezeigt wird. Die Beschreibung muss eine kurze Erläuterung des Zwecks des Befehls sein.

  7. Aktivieren Sie das Kontrollkästchen Bereich , und wählen Sie dann Hinzufügen aus. Dadurch wird definiert, wo das Befehlsmenü angezeigt werden muss.

    Screenshot: Hinzufügen eines Befehls, einer Beschreibung und eines Bereichs für Ihren Bot

Erstellen eines Befehlsmenüs für Ihren Bot durch Bearbeiten von Manifest.json

Eine weitere Möglichkeit zum Erstellen eines Befehlsmenüs besteht darin, es direkt in der Manifestdatei zu erstellen, während Sie den Bot-Quellcode entwickeln. Gehen Sie folgendermaßen vor, um diese Methode zu verwenden:

  • Jedes Menü unterstützt bis zu 10 Befehle.
  • Erstellen Sie ein einzelnes Befehlsmenü, das in allen Bereichen funktioniert.
  • Erstellen Sie für jeden Bereich ein anderes Befehlsmenü.

Beispielmanifest für ein einzelnes Menü für beide Bereiche

Der Beispielmanifestcode für ein einzelnes Menü für beide Bereiche lautet wie folgt:

{
  ⋮
  "bots":[
    {
      "botId":"[Microsoft App ID for your bot]",
      "scopes": [
        "personal",
        "team"
      ],
      "commandLists":[
        {
          "scopes":[
            "team",
            "personal"
          ],
          "commands":[
            {
              "title":"Help",
              "description":"Displays this help message"
            },
            {
              "title":"Search Flights",
              "description":"Search flights from Seattle to Phoenix May 2-5 departing after 3pm"
            },
            {
              "title":"Search Hotels",
              "description":"Search hotels in Portland tonight"
            },
            {
              "title":"Best Time to Fly",
              "description":"Best time to fly to London for a 5 day trip this summer"
            }
          ]
        }
      ]
    }
  ],
  ...
}

Beispielmanifest für das Menü für jeden Bereich

Der Beispielmanifestcode für das Menü für jeden Bereich lautet wie folgt:

{
  ...
  "bots":[
    {
      "botId":"<Microsoft app ID for your bot>",
      "scopes": [
        "groupChat",
        "team"
      ],
      "commandLists":[
        {
          "scopes":[
            "team"
          ],
          "commands":[
            {
            "title":"help",
            "description":"Displays this help message for channels"
            }
          ]
        },
        {
          "scopes":[
            "groupChat"
          ],
          "commands":[
            {
            "title":"help",
            "description":"Displays this help message for group chat"
            }
          ]
        }
      ]
    }
  ],
  ...
}

Sie müssen Menübefehle in Ihrem Bot-Code behandeln, so wie Sie jede Nachricht von Benutzern behandeln. Sie können Menübefehle in Ihrem Botcode verarbeiten, indem Sie den @Mention Teil des Nachrichtentexts analysieren.

Behandeln von Menübefehlen in Ihrem Bot-Code

Bots in einer Gruppe oder einem Kanal reagieren nur, wenn sie in einer Nachricht erwähnt @botname werden. Jede Nachricht, die von einem Bot empfangen wird, wenn er sich in einer Gruppe oder einem Kanalbereich befindet, enthält seinen Namen im Nachrichtentext. Bevor die Rückgabe des Befehls behandelt wird, muss die Nachrichten analysiert werden, die von einem Bot mit seinem Namen empfangen wurde.

Hinweis

Um die Befehle im Code zu behandeln, werden sie als normale Nachricht an Ihren Bot gesendet. Sie müssen sie so behandeln, wie Sie jede andere Nachricht von Ihren Benutzern behandeln würden. Die Befehle im Code fügen vorkonfigurierten Text in das Textfeld ein. Der Benutzer muss diesen Text dann wie für jede andere Nachricht senden.

Sie können den @Mention Teil des Nachrichtentexts mithilfe einer statischen Methode analysieren, die mit dem Microsoft Bot Framework bereitgestellt wird. Es handelt sich um eine Methode der Activity Klasse namens RemoveRecipientMention.

Der C#-Code zum Analysieren des @Mention Teils des Nachrichtentexts lautet wie folgt:

// Remove recipient mention text from Text property.
// Use with caution because this function is altering the text on the Activity.
var modifiedText = turnContext.Activity.RemoveRecipientMention();

Um eine reibungslose Funktionsweise Ihres Bot-Codes zu ermöglichen, müssen Sie einige bewährte Methoden befolgen.

Bewährte Methoden für das Befehlsmenü

Im Folgenden werden die bewährten Methoden für das Befehlsmenü aufgeführt:

  • Halten Sie es einfach: Das Bot-Menü soll die wichtigsten Funktionen Ihres Bots darstellen.
  • Halten Sie es kurz: Menüoptionen dürfen nicht lang sein und dürfen keine komplexen Anweisungen in natürlicher Sprache sein. Es müssen einfache Befehle sein.
  • Lassen Sie es aufrufbar: Bot-Menüaktionen oder -Befehle müssen immer verfügbar sein, unabhängig vom Status der Unterhaltung oder des Dialogs, in dem sich der Bot befindet.

Hinweis

Wenn Sie Befehle aus Ihrem Manifest entfernen, müssen Sie Ihre App erneut bereitstellen, um die Änderungen zu implementieren. Generell gilt, dass Sie bei Änderungen am Manifest Ihre Anwendung neu bereitstellen müssen.

Nächster Schritt

Siehe auch