Hey all, I currently have some issues with conditional slot logic as well and tried your solutions but cannot get it to work properly. I also created a separate post for it here.
My required slots look like this and I tried implementing the run method by @Joseesc24 but now my form only allows me to fill in my first slot:
def required_slots(tracker: Tracker) -> List[Text]:
"""A list of required slots that the form has to fill."""
if (tracker.get_slot("box_damaged_slot") is False and tracker.get_slot("product_damaged_slot") is False) or (
tracker.get_slot("box_damaged_slot") is True and tracker.get_slot("product_damaged_slot") is False):
return ["box_damaged_slot", "product_damaged_slot"]
else:
if tracker.get_slot("multiple_product_slot") is False:
if tracker.get_slot("return_product_slot") is False:
return ["box_damaged_slot", "product_damaged_slot",
"multiple_product_slot",
"value_product_slot", "return_product_slot"]
else:
return ["box_damaged_slot", "product_damaged_slot",
"multiple_product_slot",
"value_product_slot", "return_product_slot",
"product_or_money_slot"]
else:
if tracker.get_slot("return_product_slot") is False:
return ["box_damaged_slot", "product_damaged_slot",
"multiple_product_slot", "products_damaged_slot",
"value_product_slot", "return_product_slot"]
else:
return ["box_damaged_slot", "product_damaged_slot",
"multiple_product_slot", "products_damaged_slot",
"value_product_slot", "return_product_slot",
"product_or_money_slot"]
Can somebody help me with this please.