ComponentDialog الفصل
Dialog يتكون من مربعات حوار أخرى
تهيئة مثيل جديد من ComponentDialog
الدالمنشئ
ComponentDialog(dialog_id: str)
المعلمات
| الاسم | الوصف |
|---|---|
|
dialog_id
مطلوب
|
المعرف المراد تعيينه إلى مربع الحوار الجديد ضمن مجموعة الحوار الأصل. |
المتغيرات
| الاسم | الوصف |
|---|---|
|
state
|
<xref:persisted_dialog>
|
الأساليب
| add_dialog |
إضافة Dialog إلى مربع حوار المكون وإرجاع المكون المحدث. |
| begin_dialog |
يتم استدعاؤه عند بدء تشغيل مربع الحوار ودفعه إلى مكدس حوار الأصل. إذا نجحت المهمة، تشير النتيجة إلى ما إذا كان مربع الحوار لا يزال نشطا بعد معالجة الدور بواسطة مربع الحوار. |
| continue_dialog |
يتم استدعاؤه عند متابعة مربع الحوار، حيث يكون مربع الحوار النشط ويرد المستخدم بنشاط جديد. |
| end_component |
إنهاء مربع حوار المكون في سياق الأصل الخاص به. |
| end_dialog |
يتم استدعاؤه عند انتهاء مربع الحوار. |
| find_dialog |
البحث عن مربع حوار حسب المعرف. |
| on_begin_dialog |
يتم استدعاؤه عند بدء تشغيل مربع الحوار ودفعه إلى مكدس حوار الأصل. |
| on_continue_dialog |
يتم استدعاؤه عند متابعة مربع الحوار، حيث يكون مربع الحوار النشط ويرد المستخدم بنشاط جديد. |
| on_end_dialog |
إنهاء مربع حوار المكون في سياق الأصل الخاص به. |
| on_reprompt_dialog | |
| reprompt_dialog |
يتم استدعاؤه عندما يجب أن يعيد مربع الحوار مطالبة المستخدم بإدخاله. |
| resume_dialog |
يتم استدعاؤه عند إكمال مربع حوار تابع على مكدس الحوار الأصل هذا الدور، مع إرجاع عنصر التحكم إلى مكون مربع الحوار هذا. |
add_dialog
إضافة Dialog إلى مربع حوار المكون وإرجاع المكون المحدث.
add_dialog(dialog: Dialog) -> object
المعلمات
| الاسم | الوصف |
|---|---|
|
dialog
مطلوب
|
مربع الحوار المراد إضافته. |
المرتجعات
| النوع | الوصف |
|---|---|
|
ComponentDialogالمحدثة . |
begin_dialog
يتم استدعاؤه عند بدء تشغيل مربع الحوار ودفعه إلى مكدس حوار الأصل.
إذا نجحت المهمة، تشير النتيجة إلى ما إذا كان مربع الحوار لا يزال نشطا بعد معالجة الدور بواسطة مربع الحوار.
async begin_dialog(dialog_context: DialogContext, options: object = None) -> DialogTurnResult
المعلمات
| الاسم | الوصف |
|---|---|
|
dialog_context
مطلوب
|
DialogContext للانعطاف الحالي للمحادثة. |
|
options
|
معلومات أولية اختيارية لتمريرها إلى مربع الحوار. القيمة الافتراضية: None
|
المرتجعات
| النوع | الوصف |
|---|---|
|
يشير إلى نهاية الدور |
continue_dialog
يتم استدعاؤه عند متابعة مربع الحوار، حيث يكون مربع الحوار النشط ويرد المستخدم بنشاط جديد.
async continue_dialog(dialog_context: DialogContext) -> DialogTurnResult
المعلمات
| الاسم | الوصف |
|---|---|
|
dialog_context
مطلوب
|
سياق مربع الحوار الأصل للانعطاف الحالي للمحادثة. |
المرتجعات
| النوع | الوصف |
|---|---|
|
يشير إلى نهاية الدور |
الملاحظات
إذا نجحت المهمة، تشير النتيجة إلى ما إذا كان مربع الحوار لا يزال نشطا بعد معالجة الدور بواسطة مربع الحوار. قد تحتوي النتيجة أيضا على قيمة إرجاع.
إذا كان هذا الأسلوب لا تجاوز مربع حوار المكون يستدعي أسلوب continue_dialog في سياق مربع الحوار الداخلي. إذا كان مكدس الحوار الداخلي فارغا، ينتهي مربع حوار المكون، وإذا توفر result، يستخدم مربع حوار المكون ذلك كقيمة إرجاع.
end_component
إنهاء مربع حوار المكون في سياق الأصل الخاص به.
async end_component(outer_dc: DialogContext, result: object) -> DialogTurnResult
المعلمات
| الاسم | الوصف |
|---|---|
|
outer_dc
مطلوب
|
سياق مربع الحوار الأصل للانعطاف الحالي للمحادثة. |
|
result
مطلوب
|
اختياري، قيمة لإرجاعها من مكون مربع الحوار إلى السياق الأصل. |
المرتجعات
| النوع | الوصف |
|---|---|
|
القيمة المراد إرجاعها. |
الملاحظات
إذا نجحت المهمة، تشير النتيجة إلى انتهاء مربع الحوار بعد معالجة الدور بواسطة مربع الحوار.
end_dialog
يتم استدعاؤه عند انتهاء مربع الحوار.
async end_dialog(context: TurnContext, instance: DialogInstance, reason: DialogReason) -> None
المعلمات
| الاسم | الوصف |
|---|---|
|
context
مطلوب
|
كائن السياق لهذا الدور. |
|
instance
مطلوب
|
معلومات الحالة المقترنة بمثيل مربع حوار هذا المكون. |
|
reason
مطلوب
|
سبب انتهاء مربع الحوار. |
find_dialog
البحث عن مربع حوار حسب المعرف.
async find_dialog(dialog_id: str) -> Dialog
المعلمات
| الاسم | الوصف |
|---|---|
|
dialog_id
مطلوب
|
مربع الحوار المراد إضافته. |
المرتجعات
| النوع | الوصف |
|---|---|
|
مربع الحوار؛ أو لا شيء إذا لم يكن هناك تطابق للمعرف. |
on_begin_dialog
يتم استدعاؤه عند بدء تشغيل مربع الحوار ودفعه إلى مكدس حوار الأصل.
async on_begin_dialog(inner_dc: DialogContext, options: object) -> DialogTurnResult
المعلمات
| الاسم | الوصف |
|---|---|
|
inner_dc
مطلوب
|
سياق مربع الحوار الداخلي للانعطاف الحالي للمحادثة. |
|
options
مطلوب
|
معلومات أولية اختيارية لتمريرها إلى مربع الحوار. |
الملاحظات
إذا نجحت المهمة، تشير النتيجة إلى ما إذا كان مربع الحوار لا يزال نشطا بعد معالجة الدور بواسطة مربع الحوار.
بشكل افتراضي، يستدعي هذا الأسلوب begin_dialog لمربع الحوار الأولي لمربع حوار المكون.
تجاوز هذا الأسلوب في فئة مشتقة لتنفيذ منطق المقاطعة.
on_continue_dialog
يتم استدعاؤه عند متابعة مربع الحوار، حيث يكون مربع الحوار النشط ويرد المستخدم بنشاط جديد.
async on_continue_dialog(inner_dc: DialogContext) -> DialogTurnResult
المعلمات
| الاسم | الوصف |
|---|---|
|
inner_dc
مطلوب
|
سياق مربع الحوار الداخلي للانعطاف الحالي للمحادثة. |
on_end_dialog
إنهاء مربع حوار المكون في سياق الأصل الخاص به.
async on_end_dialog(context: TurnContext, instance: DialogInstance, reason: DialogReason) -> None
المعلمات
| الاسم | الوصف |
|---|---|
|
turn_context
مطلوب
|
TurnContext للانعطاف الحالي للمحادثة. |
|
instance
مطلوب
|
معلومات الحالة المقترنة بمكدس الحوار الداخلي لمربع حوار هذا المكون. |
|
reason
مطلوب
|
سبب انتهاء مربع الحوار. |
|
context
مطلوب
|
|
on_reprompt_dialog
async on_reprompt_dialog(turn_context: TurnContext, instance: DialogInstance) -> None
المعلمات
| الاسم | الوصف |
|---|---|
|
turn_context
مطلوب
|
TurnContext للانعطاف الحالي للمحادثة. |
|
instance
مطلوب
|
معلومات الحالة المقترنة بمكدس الحوار الداخلي لمربع حوار هذا المكون. |
reprompt_dialog
يتم استدعاؤه عندما يجب أن يعيد مربع الحوار مطالبة المستخدم بإدخاله.
async reprompt_dialog(context: TurnContext, instance: DialogInstance) -> None
المعلمات
| الاسم | الوصف |
|---|---|
|
context
مطلوب
|
كائن السياق لهذا الدور. |
|
instance
مطلوب
|
معلومات الحالة لمربع الحوار هذا. |
resume_dialog
يتم استدعاؤه عند إكمال مربع حوار تابع على مكدس الحوار الأصل هذا الدور، مع إرجاع عنصر التحكم إلى مكون مربع الحوار هذا.
async resume_dialog(dialog_context: DialogContext, reason: DialogReason, result: object = None) -> DialogTurnResult
المعلمات
| الاسم | الوصف |
|---|---|
|
dialog_context
مطلوب
|
سياق مربع الحوار للانعطاف الحالي للمحادثة. |
|
reason
مطلوب
|
سبب استئناف مربع الحوار. |
|
result
|
اختياري، القيمة التي تم إرجاعها من مربع الحوار الذي تم استدعاؤه. القيمة الافتراضية: None
|
المرتجعات
| النوع | الوصف |
|---|---|
|
يشير إلى نهاية الدور |
الملاحظات
عادة ما تكون الحاويات عبارة عن عقد طرفية على المكدس ولكن التطوير مجاني لدفع مربعات الحوار الأخرى أعلى المكدس مما سيؤدي إلى تلقي الحاوية استدعاء غير متوقع resume_dialog عند انتهاء الحوار الذي تم دفعه. لتجنب انتهاء الحاوية قبل الأوان، نحتاج إلى تنفيذ هذه الطريقة ونطلب ببساطة من مكدس الحوار الداخلي إعادة المطالبة.
السمات
persisted_dialog_state
persisted_dialog_state = 'dialogs'