Alexa Dynami c Слот не работает в python - PullRequest
0 голосов
/ 02 мая 2020

Я добавил слоты в класс Handler согласно документации, но все же я не могу заставить работать Dynami c Entities.
Вот мой python фрагмент кода для забавного дескриптора c:

    def handle(self, handler_input):
        data = handler_input.attributes_manager.request_attributes["_"]
        slots = handler_input.request_envelope.request.intent.slots
        user_id = handler_input.request_envelope.session.user.user_id
        skill_locale = handler_input.request_envelope.request.locale
        session_attr = handler_input.attributes_manager.session_attributes


        kamal_entity_synonyms = EntityValueAndSynonyms(
            value="kamal", synonyms=["kamaal", "kamau"]
        )
        kamal_entity = Entity(id="Kamal", name=kamal_entity_synonyms)

        nikhil_entity_synonyms = EntityValueAndSynonyms(
            value="Nikhil", synonyms=["niki", "nikhial"]
        )
        nikhil_entity = Entity(id="Nikhil", name=nikhil_entity_synonyms)

        replace_entity_directive = DynamicEntitiesDirective(
            update_behavior=UpdateBehavior.REPLACE,
            types=[EntityListItem(name="contact_name", values=[kamal_entity, nikhil_entity])],
        )

        speech = data["A_INTENT_MSG"].format(slots['contact_name'].value)
        reprompt = data["A_REPROMPT_MSG"].format(slots['contact_name'].value)


        return handler_input.response_builder.speak(speech).ask(reprompt).add_directive(replace_entity_directive).response

...