How to utter two different questions based on single condition and get user response in custom actions

class MoodIdentifier(Action): def name(self) -> Text: return ‘action_mood_identifier’

def run(self, dispatcher, tracker, domain):
    intent =  tracker.latest_message['intent'].get('name')
    text = tracker.latest_message.get("text")
    print(intent)
    print(text)
    print(type(intent))
    if text=='One':
        dispatcher.utter_template("utter_q1_one_a",tracker)                 
    elif text=='Two':
        dispatcher.utter_template("utter_q1_two_a" tracker)
        dispatcher.utter_template("utter_q1_two_b" tracker)

    elif text=='Three':
        dispatcher.utter_template("utter_q1_three_a",tracker)
        dispatcher.utter_template("utter_q1_three_b",tracker)
    elif text=='Four':
        dispatcher.utter_template("utter_q1_four_a",tracker)
        dispatcher.utter_template("utter_q1_four_b",tracker)
    elif text=='Five':
        dispatcher.utter_template("utter_q1_five_a",tracker)
        dispatcher.utter_template("utter_q1_five_b",tracker)
       
       
    return[]

The story is as follows:

interactive_story_1

  • greet
    • utter_greet
    • utter_q1
  • user_options
    • action_mood_identifier
  • user_options
    • utter_q2
  • user_options
    • action_mood_identifier1
  • user_options
    • utter_q3
  • user_options

logic is : If User selects two means the action file is getting user response for only q1_two_b but it is not able to get user response for q1_two_a.

can you please help me out

thank you

1 Like