ComponentDialog Klasse
Eine Dialog, die aus anderen Dialogfeldern besteht
Initialisiert eine neue Instanz des ComponentDialog
Konstruktor
ComponentDialog(dialog_id: str)
Parameter
| Name | Beschreibung |
|---|---|
|
dialog_id
Erforderlich
|
Die ID, die dem neuen Dialogfeld innerhalb des übergeordneten Dialogfeldsatzes zugewiesen werden soll. |
Variablen
| Name | Beschreibung |
|---|---|
|
state
|
<xref:persisted_dialog>
|
Methoden
| add_dialog |
Fügt dem Komponentendialogfeld eine Dialog hinzu und gibt die aktualisierte Komponente zurück. |
| begin_dialog |
Wird aufgerufen, wenn das Dialogfeld gestartet und auf den Dialogstapel des übergeordneten Elements verschoben wird. Wenn die Aufgabe erfolgreich ist, gibt das Ergebnis an, ob das Dialogfeld noch aktiv ist, nachdem die Drehung vom Dialogfeld verarbeitet wurde. |
| continue_dialog |
Wird aufgerufen, wenn das Dialogfeld fortgesetzt wird, wobei es sich um das aktive Dialogfeld handelt und der Benutzer mit einer neuen Aktivität antwortet. |
| end_component |
Beendet das Komponentendialogfeld im Kontext des übergeordneten Elements. |
| end_dialog |
Wird aufgerufen, wenn das Dialogfeld beendet wird. |
| find_dialog |
Sucht ein Dialogfeld nach ID. |
| on_begin_dialog |
Wird aufgerufen, wenn das Dialogfeld gestartet und auf den Dialogstapel des übergeordneten Elements verschoben wird. |
| on_continue_dialog |
Wird aufgerufen, wenn das Dialogfeld fortgesetzt wird, wobei es sich um das aktive Dialogfeld handelt und der Benutzer mit einer neuen Aktivität antwortet. |
| on_end_dialog |
Beendet das Komponentendialogfeld im Kontext des übergeordneten Elements. |
| on_reprompt_dialog | |
| reprompt_dialog |
Wird aufgerufen, wenn das Dialogfeld den Benutzer zur Eingabe erneut auffordert. |
| resume_dialog |
Wird aufgerufen, wenn ein untergeordnetes Dialogfeld im Dialogstapel des übergeordneten Elements diese Drehung abgeschlossen hat und dieses Steuerelement an diese Dialogfeldkomponente zurückgibt. |
add_dialog
Fügt dem Komponentendialogfeld eine Dialog hinzu und gibt die aktualisierte Komponente zurück.
add_dialog(dialog: Dialog) -> object
Parameter
| Name | Beschreibung |
|---|---|
|
dialog
Erforderlich
|
Das hinzuzufügende Dialogfeld. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Die aktualisierte ComponentDialog. |
begin_dialog
Wird aufgerufen, wenn das Dialogfeld gestartet und auf den Dialogstapel des übergeordneten Elements verschoben wird.
Wenn die Aufgabe erfolgreich ist, gibt das Ergebnis an, ob das Dialogfeld noch aktiv ist, nachdem die Drehung vom Dialogfeld verarbeitet wurde.
async begin_dialog(dialog_context: DialogContext, options: object = None) -> DialogTurnResult
Parameter
| Name | Beschreibung |
|---|---|
|
dialog_context
Erforderlich
|
Die DialogContext für die aktuelle Wendung der Unterhaltung. |
|
options
|
Optional, erste Informationen, die an das Dialogfeld übergeben werden sollen. Standardwert: None
|
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Signalisiert das Ende der Drehung |
continue_dialog
Wird aufgerufen, wenn das Dialogfeld fortgesetzt wird, wobei es sich um das aktive Dialogfeld handelt und der Benutzer mit einer neuen Aktivität antwortet.
async continue_dialog(dialog_context: DialogContext) -> DialogTurnResult
Parameter
| Name | Beschreibung |
|---|---|
|
dialog_context
Erforderlich
|
Der Kontext des übergeordneten Dialogfelds für die aktuelle Wendung der Unterhaltung. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Signalisiert das Ende der Drehung |
Hinweise
Wenn die Aufgabe erfolgreich ist, gibt das Ergebnis an, ob das Dialogfeld noch aktiv ist, nachdem die Drehung vom Dialogfeld verarbeitet wurde. Das Ergebnis kann auch einen Rückgabewert enthalten.
Wenn diese Methode nicht überschreiben, ruft das Komponentendialogfeld die continue_dialog Methode im inneren Dialogfeldkontext auf. Wenn der innere Dialogstapel leer ist, wird das Komponentendialogfeld beendet und wenn ein result verfügbar ist, verwendet das Komponentendialogfeld dies als Rückgabewert.
end_component
Beendet das Komponentendialogfeld im Kontext des übergeordneten Elements.
async end_component(outer_dc: DialogContext, result: object) -> DialogTurnResult
Parameter
| Name | Beschreibung |
|---|---|
|
outer_dc
Erforderlich
|
Der Kontext des übergeordneten Dialogfelds für die aktuelle Unterhaltungswende. |
|
result
Erforderlich
|
Optionaler Wert, der von der Dialogkomponente in den übergeordneten Kontext zurückgegeben werden soll. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Zurückzugebende Wert. |
Hinweise
Wenn die Aufgabe erfolgreich ist, gibt das Ergebnis an, dass das Dialogfeld beendet wurde, nachdem die Drehung vom Dialogfeld verarbeitet wurde.
end_dialog
Wird aufgerufen, wenn das Dialogfeld beendet wird.
async end_dialog(context: TurnContext, instance: DialogInstance, reason: DialogReason) -> None
Parameter
| Name | Beschreibung |
|---|---|
|
context
Erforderlich
|
Das Kontextobjekt für diese Drehung. |
|
instance
Erforderlich
|
Statusinformationen, die der Instanz dieses Komponentendialogfelds zugeordnet sind. |
|
reason
Erforderlich
|
Grund, warum das Dialogfeld beendet wurde. |
find_dialog
Sucht ein Dialogfeld nach ID.
async find_dialog(dialog_id: str) -> Dialog
Parameter
| Name | Beschreibung |
|---|---|
|
dialog_id
Erforderlich
|
Das hinzuzufügende Dialogfeld. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Das Dialogfeld; oder "Keine", wenn keine Übereinstimmung für die ID vorhanden ist. |
on_begin_dialog
Wird aufgerufen, wenn das Dialogfeld gestartet und auf den Dialogstapel des übergeordneten Elements verschoben wird.
async on_begin_dialog(inner_dc: DialogContext, options: object) -> DialogTurnResult
Parameter
| Name | Beschreibung |
|---|---|
|
inner_dc
Erforderlich
|
Der innere Dialogkontext für die aktuelle Unterhaltungswende. |
|
options
Erforderlich
|
Optional, erste Informationen, die an das Dialogfeld übergeben werden sollen. |
Hinweise
Wenn die Aufgabe erfolgreich ist, gibt das Ergebnis an, ob das Dialogfeld noch aktiv ist, nachdem die Drehung vom Dialogfeld verarbeitet wurde.
Standardmäßig ruft dies die begin_dialog Methode des Anfänglichen Dialogfelds des Komponentendialogfelds auf.
Überschreiben Sie diese Methode in einer abgeleiteten Klasse, um die Interruptlogik zu implementieren.
on_continue_dialog
Wird aufgerufen, wenn das Dialogfeld fortgesetzt wird, wobei es sich um das aktive Dialogfeld handelt und der Benutzer mit einer neuen Aktivität antwortet.
async on_continue_dialog(inner_dc: DialogContext) -> DialogTurnResult
Parameter
| Name | Beschreibung |
|---|---|
|
inner_dc
Erforderlich
|
Der innere Dialogkontext für die aktuelle Unterhaltungswende. |
on_end_dialog
Beendet das Komponentendialogfeld im Kontext des übergeordneten Elements.
async on_end_dialog(context: TurnContext, instance: DialogInstance, reason: DialogReason) -> None
Parameter
| Name | Beschreibung |
|---|---|
|
turn_context
Erforderlich
|
Die TurnContext für die aktuelle Wendung der Unterhaltung. |
|
instance
Erforderlich
|
Statusinformationen, die dem inneren Dialogstapel dieses Komponentendialogfelds zugeordnet sind. |
|
reason
Erforderlich
|
Grund, warum das Dialogfeld beendet wurde. |
|
context
Erforderlich
|
|
on_reprompt_dialog
async on_reprompt_dialog(turn_context: TurnContext, instance: DialogInstance) -> None
Parameter
| Name | Beschreibung |
|---|---|
|
turn_context
Erforderlich
|
Die TurnContext für die aktuelle Wendung der Unterhaltung. |
|
instance
Erforderlich
|
Statusinformationen, die dem inneren Dialogstapel dieses Komponentendialogfelds zugeordnet sind. |
reprompt_dialog
Wird aufgerufen, wenn das Dialogfeld den Benutzer zur Eingabe erneut auffordert.
async reprompt_dialog(context: TurnContext, instance: DialogInstance) -> None
Parameter
| Name | Beschreibung |
|---|---|
|
context
Erforderlich
|
Das Kontextobjekt für diese Drehung. |
|
instance
Erforderlich
|
Statusinformationen für dieses Dialogfeld. |
resume_dialog
Wird aufgerufen, wenn ein untergeordnetes Dialogfeld im Dialogstapel des übergeordneten Elements diese Drehung abgeschlossen hat und dieses Steuerelement an diese Dialogfeldkomponente zurückgibt.
async resume_dialog(dialog_context: DialogContext, reason: DialogReason, result: object = None) -> DialogTurnResult
Parameter
| Name | Beschreibung |
|---|---|
|
dialog_context
Erforderlich
|
Der Dialogfeldkontext für die aktuelle Drehung der Unterhaltung. |
|
reason
Erforderlich
|
Grund, warum das Dialogfeld fortgesetzt wurde. |
|
result
|
Optionaler Wert, der aus dem aufgerufenen Dialogfeld zurückgegeben wurde. Standardwert: None
|
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Signalisiert das Ende der Drehung |
Hinweise
Container sind in der Regel Blattknoten im Stapel, aber der Entwickler kann andere Dialogfelder über den Stapel verschieben, was dazu führt, dass der Container einen unerwarteten Aufruf an resume_dialog empfängt, wenn das Dialogfeld gedrückt wird. Um das vorzeitige Beenden des Containers zu vermeiden, müssen wir diese Methode implementieren und einfach unseren inneren Dialogstapel bitten, erneut zu fragen.
Attribute
persisted_dialog_state
persisted_dialog_state = 'dialogs'