How to selectively choose one utter out of many utters from a path in a story?

How can I selectively choose one utter (i.e. utter_c) out of many utters (utter_a, utter_b, utter_c,utter_d) from the following path in the story?

sad path 1

  • greet
    • utter_greet
  • myIntent
    • utter_a
    • utter_b
    • utter_c
    • utter_d
  • affirm
    • utter_happy

@akelad @juste_petr @Juste @dakshvar22 @nikhil @rctatman

@dasbitopan you can type multiple text in one utter and bot will response randomly of them… like

  • utter_c:
  •  - text: "please select a"
    
  •  - text: "Please select b"
    
  •  - text: "Please select c"
    

Now bot will response randomly from this and you can also set channel specific response like

  • utter_c:
  •  - text: "please this response in telegram"
    
  •    channel: "telegram"

Thank you for reply Yash.

But I want only utter_c to be selectively chosen for some question (w.r.t utter_c) related to myIntent.. Story Code below-

sad path 1

  • greet
    • utter_greet
  • myIntent
    • utter_a
    • utter_b
    • utter_c
    • utter_d
  • affirm
    • utter_happy

Also I don’t want to use multiple text under one utter because it chooses a random text.

(Please note that the utters i.e. utter_a, utter_b, utter_c & utter_d are essentially required against myIntent because 1) These utters are probable responses of myIntent & 2) I want to keep minimum Intents - hence I can’t keep four Intents against (utter_a, utter_b, utter_c,utter_d))

@akelad @juste_petr @Juste @dakshvar22 @nikhil @rctatman

Which version of rasa are you using? @dasbitopan

Then @dasbitopan you can use action file in this use can check intent_name then you can response based on intent in action file.

for check intent name:

intent_name = tracker.latest_message[‘intent’].get(‘name’)

1 Like

Screen Shot 2020-11-05 at 2.56.22 PM

i have used like this… you can use as per your need.

2 Likes