@sarah1! I realized that:
In required_slots you define: [“PERSON”, “prenom”, “numero”, “email”]
It should be: [“nom”, “prenom”, “numero”, “email”]
PERSON is the entity, not the slot
Try:
@staticmethod
def required_slots(tracker: Tracker) -> List[Text]:
print("required_slots(tracker: Tracker)")
return ["nom", "prenom", "numero", "email"]
def slot_mappings(self) -> Dict[Text, Union[Dict, List[Dict]]]:
return{
"nom": [
self.from_entity(entity="PERSON")
],
"prenom": self.from_entity(entity = "prenom",intent="entreePrenom"),
"email": self.from_entity(entity = "email", intent = "entreeEmail"),
"numero": self.from_entity(entity = "numero", intent = "entreeNumero")
}
def submit(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict]:
dispatcher.utter_message(template="utter_submit",
nom = tracker.get_slot('nom'),
prenom = tracker.get_slot('prenom'),
email = tracker.get_slot('email'),
numero = tracker.get_slot('numero'))
return []