Hi,
In one of my forms, in case of an error, i want to exit the form and call another action of human handoff. for example:
Blockquote class Ask_main_menu_handoff(Action): def name(self): return ‘action_utter_ask_menu_handoff’
def run(self, dispatcher, tracker, domain):
text = buttons = choice = followup_action = ""
text = get_text_from_lang(
tracker,
[['Sorry, i can\'t help you. Do you prefer going back to the main menu, or tranferring you to a human agent?'],
['Désolé, je ne peux pas vous aider. Préférez-vous revenir au menu principal ou vous transférer vers un agent humain?'],
['آسف ، لا يمكنني مساعدتك. هل تفضل العودة إلى القائمة الرئيسية ، أو نقلك إلى وكيل بشري؟'],
['Կներեք, ես չեմ կարող ձեզ օգնել: Նախընտրու՞մ եք վերադառնալ հիմնական ընտրացանկ, թե՞ տեղափոխել ձեզ մարդկային գործակալի:']]
)
buttons = get_buttons_from_lang(
tracker,
[['Main menu','Talk to human agent'], ['Menu principal','Parler avec un agent humain'], ['القائمة الرئيسية','تحدث إلى وكيل بشري'], ['Հիմնական մենյու','Խոսեք մարդկային գործակալի հետ']],
['/set_fallback_action{"fallback_action": "go_to_main_menu"}', '/set_fallback_action{"fallback_action": "switch_to_handoff"}'])
dispatcher.utter_message(text = text, buttons = buttons)
return []
class Validate_Form_TNI(FormValidationAction): steps_list = {} def name(self): return ‘validate_form_TNI’
async def required_slots(self, predefined_slots, dispatcher, tracker, domain):
.........
else:
**return [] (=> CALL THE ACTION action_utter_ask_menu_handoff HERE)**
.........
return required_slots
class Submit_Form_TNI(Action): def name(self): return ‘action_submit_form_TNI’
def run(self, dispatcher, tracker, domain):
slots_to_reset = list(domain['forms']['form_TNI'].keys())
exceptions = ['username', 'ti_form_completed']
events = reset_slots(tracker, slots_to_reset, exceptions)
events.append(SlotSet('ti_form_completed', False))
return events