ComponentDialog Klass
En Dialog som består av andra dialogrutor
Initierar en ny instans av ComponentDialog
Konstruktor
ComponentDialog(dialog_id: str)
Parametrar
| Name | Description |
|---|---|
|
dialog_id
Obligatorisk
|
ID:t som ska tilldelas till den nya dialogrutan i den överordnade dialogrutan. |
Variabler
| Name | Description |
|---|---|
|
state
|
<xref:persisted_dialog>
|
Metoder
| add_dialog |
Lägger till en Dialog i komponentdialogrutan och returnerar den uppdaterade komponenten. |
| begin_dialog |
Anropas när dialogrutan startas och skickas till den överordnade dialogrutans stack. Om uppgiften lyckas anger resultatet om dialogrutan fortfarande är aktiv efter att svängen har bearbetats av dialogrutan. |
| continue_dialog |
Anropas när dialogrutan fortsätter, där det är den aktiva dialogrutan och användaren svarar med en ny aktivitet. |
| end_component |
Avslutar komponentdialogrutan i den överordnade kontexten. |
| end_dialog |
Anropas när dialogrutan slutar. |
| find_dialog |
Söker efter en dialogruta efter ID. |
| on_begin_dialog |
Anropas när dialogrutan startas och skickas till den överordnade dialogrutans stack. |
| on_continue_dialog |
Anropas när dialogrutan fortsätter, där det är den aktiva dialogrutan och användaren svarar med en ny aktivitet. |
| on_end_dialog |
Avslutar komponentdialogrutan i den överordnade kontexten. |
| on_reprompt_dialog | |
| reprompt_dialog |
Anropas när dialogrutan ska uppmana användaren att ange indata igen. |
| resume_dialog |
Anropades när en underordnad dialogruta i den överordnade dialogstacken slutförde den här svängen och returnerade kontrollen till den här dialogkomponenten. |
add_dialog
Lägger till en Dialog i komponentdialogrutan och returnerar den uppdaterade komponenten.
add_dialog(dialog: Dialog) -> object
Parametrar
| Name | Description |
|---|---|
|
dialog
Obligatorisk
|
Dialogrutan som ska läggas till. |
Returer
| Typ | Description |
|---|---|
|
Den uppdaterade ComponentDialog. |
begin_dialog
Anropas när dialogrutan startas och skickas till den överordnade dialogrutans stack.
Om uppgiften lyckas anger resultatet om dialogrutan fortfarande är aktiv efter att svängen har bearbetats av dialogrutan.
async begin_dialog(dialog_context: DialogContext, options: object = None) -> DialogTurnResult
Parametrar
| Name | Description |
|---|---|
|
dialog_context
Obligatorisk
|
DialogContext för konversationens aktuella tur. |
|
options
|
Valfri, initial information som ska skickas till dialogrutan. Standardvärde: None
|
Returer
| Typ | Description |
|---|---|
|
Signalerar slutet av svängen |
continue_dialog
Anropas när dialogrutan fortsätter, där det är den aktiva dialogrutan och användaren svarar med en ny aktivitet.
async continue_dialog(dialog_context: DialogContext) -> DialogTurnResult
Parametrar
| Name | Description |
|---|---|
|
dialog_context
Obligatorisk
|
Den överordnade dialogkontexten för konversationens aktuella vändning. |
Returer
| Typ | Description |
|---|---|
|
Signalerar slutet av svängen |
Kommentarer
Om uppgiften lyckas anger resultatet om dialogrutan fortfarande är aktiv efter att svängen har bearbetats av dialogrutan. Resultatet kan också innehålla ett returvärde.
Om den här metoden inte åsidosätta komponentdialogrutan anropar continue_dialog-metoden i den inre dialogkontexten. Om den inre dialogrutan är tom avslutas komponentdialogrutan och om en result är tillgänglig använder komponentdialogrutan det som returvärde.
end_component
Avslutar komponentdialogrutan i den överordnade kontexten.
async end_component(outer_dc: DialogContext, result: object) -> DialogTurnResult
Parametrar
| Name | Description |
|---|---|
|
outer_dc
Obligatorisk
|
Den överordnade dialogkontexten för den aktuella konversationen. |
|
result
Obligatorisk
|
Valfritt värde som ska returneras från dialogkomponenten till den överordnade kontexten. |
Returer
| Typ | Description |
|---|---|
|
Värde som ska returneras. |
Kommentarer
Om uppgiften lyckas anger resultatet att dialogrutan avslutades efter att svängen bearbetats av dialogrutan.
end_dialog
Anropas när dialogrutan slutar.
async end_dialog(context: TurnContext, instance: DialogInstance, reason: DialogReason) -> None
Parametrar
| Name | Description |
|---|---|
|
context
Obligatorisk
|
Kontextobjektet för den här svängen. |
|
instance
Obligatorisk
|
Tillståndsinformation som är associerad med instansen av den här komponentdialogrutan. |
|
reason
Obligatorisk
|
Orsak till att dialogrutan avslutades. |
find_dialog
Söker efter en dialogruta efter ID.
async find_dialog(dialog_id: str) -> Dialog
Parametrar
| Name | Description |
|---|---|
|
dialog_id
Obligatorisk
|
Dialogrutan som ska läggas till. |
Returer
| Typ | Description |
|---|---|
|
Dialogrutan; eller Ingen om det inte finns någon matchning för ID:t. |
on_begin_dialog
Anropas när dialogrutan startas och skickas till den överordnade dialogrutans stack.
async on_begin_dialog(inner_dc: DialogContext, options: object) -> DialogTurnResult
Parametrar
| Name | Description |
|---|---|
|
inner_dc
Obligatorisk
|
Den inre dialogkontexten för den aktuella konversationen. |
|
options
Obligatorisk
|
Valfri, initial information som ska skickas till dialogrutan. |
Kommentarer
Om uppgiften lyckas anger resultatet om dialogrutan fortfarande är aktiv efter att svängen har bearbetats av dialogrutan.
Som standard anropar detta metoden begin_dialog i komponentdialogrutans inledande dialogruta.
Åsidosätt den här metoden i en härledd klass för att implementera avbrottslogik.
on_continue_dialog
Anropas när dialogrutan fortsätter, där det är den aktiva dialogrutan och användaren svarar med en ny aktivitet.
async on_continue_dialog(inner_dc: DialogContext) -> DialogTurnResult
Parametrar
| Name | Description |
|---|---|
|
inner_dc
Obligatorisk
|
Den inre dialogkontexten för den aktuella konversationen. |
on_end_dialog
Avslutar komponentdialogrutan i den överordnade kontexten.
async on_end_dialog(context: TurnContext, instance: DialogInstance, reason: DialogReason) -> None
Parametrar
| Name | Description |
|---|---|
|
turn_context
Obligatorisk
|
TurnContext för konversationens aktuella tur. |
|
instance
Obligatorisk
|
Tillståndsinformation som är associerad med den inre dialogrutan i den här komponentdialogrutan. |
|
reason
Obligatorisk
|
Orsak till att dialogrutan avslutades. |
|
context
Obligatorisk
|
|
on_reprompt_dialog
async on_reprompt_dialog(turn_context: TurnContext, instance: DialogInstance) -> None
Parametrar
| Name | Description |
|---|---|
|
turn_context
Obligatorisk
|
TurnContext för konversationens aktuella tur. |
|
instance
Obligatorisk
|
Tillståndsinformation som är associerad med den inre dialogrutan i den här komponentdialogrutan. |
reprompt_dialog
Anropas när dialogrutan ska uppmana användaren att ange indata igen.
async reprompt_dialog(context: TurnContext, instance: DialogInstance) -> None
Parametrar
| Name | Description |
|---|---|
|
context
Obligatorisk
|
Kontextobjektet för den här svängen. |
|
instance
Obligatorisk
|
Tillståndsinformation för den här dialogrutan. |
resume_dialog
Anropades när en underordnad dialogruta i den överordnade dialogstacken slutförde den här svängen och returnerade kontrollen till den här dialogkomponenten.
async resume_dialog(dialog_context: DialogContext, reason: DialogReason, result: object = None) -> DialogTurnResult
Parametrar
| Name | Description |
|---|---|
|
dialog_context
Obligatorisk
|
Dialogkontexten för konversationens aktuella tur. |
|
reason
Obligatorisk
|
Orsak till att dialogrutan återupptogs. |
|
result
|
Valfritt värde som returnerades från dialogrutan som anropades. Standardvärde: None
|
Returer
| Typ | Description |
|---|---|
|
Signalerar slutet av svängen |
Kommentarer
Containrar är vanligtvis lövnoder i stacken, men utvecklaren kan skicka andra dialogrutor ovanpå stacken, vilket resulterar i att containern får ett oväntat anrop till resume_dialog när den pushade dialogrutan avslutas. För att undvika att containern slutar i förtid måste vi implementera den här metoden och helt enkelt be vår inre dialogstack att fråga igen.
Attribut
persisted_dialog_state
persisted_dialog_state = 'dialogs'