Vom Bot gesendete Nachrichten aktualisieren und löschen

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.

Ihr Bot kann Nachrichten nach dem Senden dynamisch aktualisieren, anstatt sie als statische Momentaufnahmen von Daten zu behalten. Nachrichten können auch mithilfe der Bot Framework-Methode DeleteActivity gelöscht werden.

Nachricht aktualisieren

Sie können dynamische Nachrichtenaktualisierungen für Szenarien wie Umfrageaktualisierungen, das Ändern verfügbarer Aktionen nach einem Tastendruck oder jede andere asynchrone Zustandsänderung verwenden.

Es ist nicht erforderlich, dass die neue Nachricht mit dem ursprünglichen Typ übereinstimmt. Wenn die ursprüngliche Nachricht beispielsweise einen Anhang enthielt, kann die neue Nachricht eine einfache Textnachricht sein.

Um eine vorhandene Nachricht zu aktualisieren, übergeben Sie ein neues Activity-Objekt mit der vorhandenen Aktivitäts-ID an die UpdateActivityAsync-Methode der TurnContext-Klasse. Siehe TurnContextClass für weitere Informationen.

var newActivity = MessageFactory.Text("The new text for the activity");
newActivity.Id = activityId;
await turnContext.UpdateActivityAsync(newActivity, cancellationToken);

Nachdem Sie Nachrichten aktualisiert haben, aktualisieren Sie die vorhandene Karte bei der Schaltflächenauswahl für eingehende Aktivitäten.

Karten aktualisieren

Um die vorhandene Karte bei der Schaltflächenauswahl zu aktualisieren, können Sie ReplyToId von eingehenden Aktivitäten verwenden.

Um eine vorhandene Karte bei der Schaltflächenauswahl zu aktualisieren, übergeben Sie ein neues Activity-Objekt mit aktualisierter Karte und ReplyToId als Aktivitäts-ID an die UpdateActivityAsync-Methode der TurnContext-Klasse. Siehe TurnContextClass.

var activity = MessageFactory.Attachment(card.ToAttachment());
activity.Id = turnContext.Activity.ReplyToId;
await turnContext.UpdateActivityAsync(activity, cancellationToken);

Nachdem Sie Karten aktualisiert haben, können Sie Nachrichten mithilfe des Bot Framework löschen.

Löschen von Nachrichten

Im Bot Framework hat jede Nachricht ihren eindeutigen Aktivitätsbezeichner. Nachrichten können mithilfe der Bot Framework-Methode DeleteActivity gelöscht werden.

Um eine Nachricht zu löschen, übergeben Sie die ID dieser Aktivität an die DeleteActivityAsync-Methode der TurnContext-Klasse. Siehe TurnContext.DeleteActivityAsync-Methode für weitere Informationen.

foreach (var activityId in _list)
{
    await turnContext.DeleteActivityAsync(activityId, cancellationToken);
}

Codebeispiel

Im folgenden Codebeispiel werden die Grundaspekte von Unterhaltungen veranschaulicht:

Beispielname Beschreibung .NET Node.js Python
Grundlagen zu Teams-Unterhaltungen Veranschaulicht die Grundaspekte von Unterhaltungen in Microsoft Teams einschließlich Nachrichtenaktualisierung und -löschung. View View View

Nächster Schritt

Siehe auch