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.
// Send initial message
var response = await turnContext.SendActivityAsync(MessageFactory.Attachment(card.ToAttachment()), cancellationToken);
var activityId = response.Id; // Fetch activity id.
// MessageFactory.Text(): Specifies the type of text data in a message attachment.
var newActivity = MessageFactory.Text("The new text for the activity");
newActivity.Id = activityId;
// UpdateActivityAsync(): A method that can participate in update activity events for the current turn.
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.
// Returns a message activity that contains an attachment.
var activity = MessageFactory.Attachment(card.ToAttachment());
activity.Id = turnContext.Activity.ReplyToId;
// A method that can participate in update activity events for the current turn.
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.
foreach (var activityId in _list)
{
// When overridden in a derived class, deletes an existing activity in the conversation.
await turnContext.DeleteActivityAsync(activityId, cancellationToken);
}
Codebeispiel
Im folgenden Codebeispiel werden die Grundaspekte von Unterhaltungen veranschaulicht:
Beispielname | Beschreibung | .NET | Node.js | Python | Manifest |
---|---|---|---|---|---|
Grundlagen zu Teams-Unterhaltungen | In diesem Beispiel wird gezeigt, wie Sie verschiedene Botunterhaltungsereignisse verwenden, die in Bot Framework v4 für den persönlichen Bereich und den Teams-Bereich verfügbar sind. | View | View | View | View |
Nächster Schritt
Siehe auch
Platform Docs
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für