Ereignisse und Trigger in adaptiven Dialogen – ReferenzhandbuchEvents and triggers in adaptive dialogs - reference guide

gilt für: SDK v4APPLIES TO: SDK v4

Eine Einführung in dieses Thema finden Sie im Artikel Triggerkonzept in der Composer-Dokumentation.For an introduction to this topic, see the Triggers concept article in the Composer documentation.

Auslöser für das ErkennungsereignisRecognizer event triggers

EreignisursacheEvent cause TriggernameTrigger name BasisereignisBase event BESCHREIBUNGDescription
Absicht wählenChoose Intent OnChooseIntent ChooseIntent Dieser Auslöser wird ausgeführt, wenn mehrerer Erkennungsfunktionen in einem CrossTrainedRecognizerSet Mehrdeutigkeit bei Absichten feststellen.This trigger is run when ambiguity has been detected between intents from multiple recognizers in a CrossTrainedRecognizerSet.
Absicht erkanntIntent recognized OnIntent RecognizedIntent Auszuführende Aktionen, wenn die angegebene Absicht erkannt wird.Actions to perform when specified intent is recognized.
QnAMatch-AbsichtQnAMatch intent OnQnAMatch RecognizedIntent Dieser Auslöser wird ausgeführt, wenn der QnAMakerRecognizer eine QnAMatch-Absicht zurückgegeben hat.This trigger is run when the QnAMakerRecognizer has returned a QnAMatch intent. Die Entität @answer erhält die QnAMaker-Antwort.The entity @answer will have the QnAMaker answer.
Unbekannte Absicht erkanntUnknown intent recognized OnUnknownIntent UnknownIntent Auszuführende Aktionen, wenn die Benutzereingabe nicht erkannt wird oder keine Übereinstimmung in einem der Auslöser des Typs OnIntent gefunden wird.Actions to perform when user input is unrecognized or no match is found in any of the OnIntent triggers. Sie können dies auch als ersten Auslöser in Ihrem Stammdialog anstelle von OnBeginDialog verwenden, um beim ersten Start des Dialogs alle erforderlichen Aufgaben auszuführen.You can also use this as your first trigger in your root dialog in place of the OnBeginDialog to preform any needed tasks when the dialog first starts.

Mithilfe des OnIntent-Auslösers können Sie das recognizedIntent-Ereignis verarbeiten.The OnIntent trigger lets you handle the recognizedIntent event. Das recognizedIntent Ereignis wird von einer Erkennung ausgelöst.The recognizedIntent event is raised by a recognizer. Mit Ausnahme der QnA Maker-Erkennunggeben alle integrierten Bot Framework SDK-Erkennungen dieses Ereignis aus, wenn sie eine Benutzereingabe erfolgreich identifizieren, sodass Ihr Bot entsprechend reagieren kann.With the exception of the QnA Maker recognizer, all of the Bot Framework SDK built-in recognizers emit this event when they successfully identify a user input so that your bot can respond appropriately.

Mit dem Auslöser OnUnknownIntent können Sie das Ereignis recognizedIntent abfangen und reagieren, wenn es von keinem der anderen Auslöser abgefangen und verarbeitet wurde.Use the OnUnknownIntent trigger to catch and respond when a recognizedIntent event isn't caught and handled by any of the other triggers. Dies bedeutet, dass jede nicht behandelte Absicht (einschließlich "none") dazu führen kann, dass sie ausgelöst wird, aber nur, wenn derzeit keine Aktionen für den Dialog ausgeführt werden.This means that any unhandled intent (including "none") can cause it to trigger, but only if there aren't any currently executing actions for the dialog. Verwenden Sie den OnUnknownIntent Trigger, um die Absicht "None" abzufangen und zu reagieren.Use the OnUnknownIntent trigger to catch and respond when a "none" intent occurs. Die Verwendung des OnIntent Triggers zum Behandeln einer "None"-Absicht kann zu unerwarteten Ergebnissen führen.Using the OnIntent trigger to handle a "none" intent can produce unexpected results.

DialogereignisauslöserDialog event triggers

Dialogtrigger behandeln dialogspezifische Ereignisse, die sich auf den Lebenszyklus des Dialogs beziehen.Dialog triggers handle dialog specific events that are related to the lifecycle of the dialog. Es gibt derzeit 6 Dialogauslöser im Bot Framework SDK, die alle von der Klasse OnDialogEvent abgeleitet sind.There are currently 6 dialog triggers in the Bot Framework SDK and they all derive from the OnDialogEvent class.

Tipp

Diese sind nicht wie normale Ereignishandler für Unterbrechungen, bei denen die Aktionen des untergeordneten Benutzers nach Abschluss der Aktionen des Handlers fortgesetzt werden.These aren't like normal interruption event handlers where the child's actions will continue running after the handler's actions complete. Für alle unten aufgeführten Ereignisse führt der Bot einen neuen Satz von Aktionen aus und beendet den Turn, sobald diese Aktionen abgeschlossen sind.For all of the events below, the bot will run a new set of actions and will end the turn once those actions have finished.

TriggernameTrigger name BasisereignisBase event BESCHREIBUNGDescription
OnBeginDialog BeginDialog Bei Beginn dieses Dialogs auszuführende Aktionen.Actions to perform when this dialog begins. Nur für den Einsatz mit untergeordneten Dialogen und nicht für Ihren Stammdialog geeignet. In Stammdialogen verwenden Sie OnUnknownIntent, um Aktivitäten zur Initialisierung von Dialogen durchzuführen.For use with child dialogs only, not to be used in your root dialog, In root dialogs, use OnUnknownIntent to perform dialog initialization activities.
OnCancelDialog CancelDialog Mit diesem Ereignis können Sie verhindern, dass der aktuelle Dialog aufgrund eines untergeordneten Dialogs abgebrochen wird, der die Aktion CancelAllDialogs ausführt.This event allows you to prevent the current dialog from being cancelled due to a child dialog executing a CancelAllDialogs action.
OnEndOfActions EndOfActions Dieses Ereignis tritt ein, sobald alle Aktionen und mehrdeutigen Ereignisse verarbeitet wurden.This event occurs once all actions and ambiguity events have been processed.
OnError Error Aktionen, die ausgeführt werden sollen, wenn ein Error Dialogereignis auftritt.Actions to perform when an Error dialog event occurs. Dieses Ereignis ähnelt OnCancelDialog insofern, als Sie verhindern, dass der adaptive Dialog, der diesen Trigger enthält, aufgrund eines Fehlers in einem untergeordneten Dialog beendet wird.This event is similar to OnCancelDialog in that you are preventing the adaptive dialog that contains this trigger from ending, in this case due to an error in a child dialog.
OnRepromptDialog RepromptDialog Auszuführende Aktionen, wenn das RepromptDialog-Ereignis eintritt.Actions to perform when RepromptDialog event occurs.
OnDialog DialogEvents.VersionChanged

AktivitätsereignisauslöserActivity event triggers

Mithilfe von Auslösern für Aktivitäten können Sie Aktionen mit jeder vom Client eingehenden Aktivität verknüpfen, z. B. wenn ein neuer Benutzer hinzukommt und der Bot eine neue Unterhaltung beginnt.Activity triggers let you associate actions to any incoming activity from the client such as when a new user joins and the bot begins a new conversation. Weitere Informationen zu Aktivitäten finden Sie im Bot Framework Activity-Schema.Additional information on activities can be found in Bot Framework Activity schema.

Alle Aktivitätsereignisse haben das Basisereignis ActivityReceived und werden durch ihren Aktivitätstyp weiter präzisiert.All activity events have a base event of ActivityReceived and are further refined by their activity type. Die Basisklasse, von der alle Aktivitätsauslöser abgeleitet werden, ist OnActivity.The Base class that all activity triggers derive from is OnActivity.

EreignisursacheEvent cause ActivityTypeActivityType TriggernameTrigger name BESCHREIBUNGDescription
GrußformelGreeting ConversationUpdate OnConversationUpdateActivity Aktionen, die beim Empfang einer Aktivität ausgeführt werden conversationUpdate sollen, wenn der Bot oder ein Benutzer einer Konversation beitritt oder diese verlässt.Actions to perform on receipt of a conversationUpdate activity, when the bot or a user joins or leaves a conversation.
Konversation beendetConversation ended EndOfConversation OnEndOfConversationActivity Aktionen, die beim Empfang einer Aktivität ausgeführt werden endOfConversation sollen.Actions to perform on receipt of an endOfConversation activity.
Ereignis empfangenEvent received Event OnEventActivity Aktionen, die beim Empfang einer Aktivität ausgeführt werden event sollen.Actions to perform on receipt of an event activity.
Übergabe an PersonHandover to human Handoff OnHandoffActivity Aktionen, die beim Empfang einer Aktivität ausgeführt werden handOff sollen.Actions to perform on receipt of a handOff activity.
Konversation aufgerufenConversation invoked Invoke OnInvokeActivity Aktionen, die beim Empfang einer Aktivität ausgeführt werden invoke sollen.Actions to perform on receipt of an invoke activity.
Benutzer gibt Daten einUser is typing Typing OnTypingActivity Aktionen, die beim Empfang einer Aktivität durchgeführt typing werden sollen.Actions to perform on receipt of a typing activity.

NachrichtenereignisauslöserMessage event triggers

Auslöser für Nachrichtenereignisse ermöglichen Ihnen, auf jedes Nachrichtenereignis zu reagieren, z. B. wenn eine Nachricht aktualisiert (MessageUpdate) oder gelöscht (MessageDeletion) wird oder jemand auf eine Nachricht reagiert (MessageReaction). Zu den häufigen Reaktionen auf Nachrichten gehören z. B. „Gefällt mir“-Markierung, Herz, Lachen, Überraschung, Traurigkeit und Wut.Message event triggers allow you to react to any message event such as when a message is updated (MessageUpdate) or deleted (MessageDeletion) or when someone reacts (MessageReaction) to a message (for example, some of the common message reactions include a Like, Heart, Laugh, Surprised, Sad and Angry reactions).

Nachrichtenereignisse sind eine Art von Aktivitätsereignis, haben als solche das Basisereignis ActivityReceived und werden durch den Aktivitätstyp weiter präzisiert.Message events are a type of activity event and, as such, all message events have a base event of ActivityReceived and are further refined by activity type. Die Basisklasse, von der alle Nachrichtenauslöser abgeleitet werden, ist OnActivity.The Base class that all message triggers derive from is OnActivity.

EreignisursacheEvent cause ActivityTypeActivityType TriggernameTrigger name BESCHREIBUNGDescription
Empfangene NachrichtMessage received Message OnMessageActivity Auszuführende Aktionen bei Eingang einer Aktivität des Typs MessageReceived.Actions to perform on receipt of an activity with type MessageReceived.
Nachricht gelöschtMessage deleted MessageDeletion OnMessageDeleteActivity Auszuführende Aktionen bei Eingang einer Aktivität des Typs MessageDelete.Actions to perform on receipt of an activity with type MessageDelete.
NachrichtenantwortMessage reaction MessageReaction OnMessageReactionActivity Auszuführende Aktionen bei Eingang einer Aktivität des Typs MessageReaction.Actions to perform on receipt of an activity with type MessageReaction.
Nachricht aktualisiertMessage updated MessageUpdate OnMessageUpdateActivity Auszuführende Aktionen bei Eingang einer Aktivität des Typs MessageUpdate.Actions to perform on receipt of an activity with type MessageUpdate.

Benutzerdefinierter EreignistriggerCustom event trigger

Sie können Ihre eigenen Ereignisse ausgeben, indem Sie die Aktion EmitEvent einem beliebigen Auslöser hinzufügen. Anschließend können Sie dieses benutzerdefinierte Ereignis in einem beliebigen Auslöser in einem beliebigen Dialog in Ihrem Bot behandeln, indem Sie einen benutzerdefinierten Ereignisauslöser definieren.You can emit your own events by adding the EmitEvent action to any trigger, then you can handle that custom event in any trigger in any dialog in your bot by defining a custom event trigger. Ein benutzerdefinierter Ereignisauslöser ist der Auslöser OnDialogEvent, der faktisch zu einem benutzerdefinierten Auslöser wird, wenn Sie die Event-Eigenschaft auf denselben Wert wie die EventName-Eigenschaft von EmitEvent festlegen.A custom event trigger is the OnDialogEvent trigger that in effect becomes a custom trigger when you set the Event property to the same value as the EmitEvent's EventName property.

Tipp

Sie können anderen Dialogen in Ihrem Bot erlauben, Ihr benutzerdefiniertes Ereignis zu behandeln, indem Sie die Eigenschaft BubbleEvent von EmitEvent auf TRUE festlegen.You can allow other dialogs in your bot to handle your custom event by setting the EmitEvent's BubbleEvent property to true.

EreignisursacheEvent cause TriggernameTrigger name BasisklasseBase class BESCHREIBUNGDescription
Benutzerdefiniertes EreignisCustom event OnDialogEvent OnCondition Auszuführende Aktionen, wenn ein benutzerdefiniertes Ereignis erkannt wird.Actions to perform when a custom event is detected. Verwenden Sie Eine benutzerdefinierte Ereignisaktion aus, um ein benutzerdefiniertes Ereignis aus zu erstellen.Use Emit a custom event action to raise a custom event.