Я полный новичок в консоли разработки Alexa. Я использую Python SDK, чтобы создать приложение, которое соответствует еде и вину. Мой код работает, но мне все еще нужно запустить приложение (с LaunchRequest), а затем задать вопрос о соответствии между едой и вином.
Я хотел бы дать возможность пользователю напрямую задать свой вопрос: «Алекса, спроси Уини Бота, какое вино соответствует ...».
Однако я не знаю, как это сделать. Я не знаю, нужно ли мне создавать новый LaunchRequest или можно ли запустить IntentRequest напрямую.
Вот мой код, вы думаете, вы могли бы помочь мне?
class LaunchRequestHandler(AbstractRequestHandler):
def can_handle(self, handler_input):
# type: (HandlerInput) -> bool
return ask_utils.is_request_type("LaunchRequest")(handler_input)
def handle(self, handler_input):
# type: (HandlerInput) -> Response
speak_output = "Bonjour, je suis là pour vous aider. Demandez-moi des informations sur un vin ou sur une association plat / vin. Vous pouvez simplement me donner le nom d'un plat ou d'un vin et je m'occupe du reste.";
reprompt_text = "Vous pouvez par exemple essayer de me demander des informations sur le Chablis.";
return (
handler_input.response_builder
.speak(speak_output)
.ask(reprompt_text)
.response
)
class CapturePlatIntentHandler(AbstractRequestHandler):
def can_handle(self, handler_input):
# type: (HandlerInput) -> bool
return ask_utils.is_intent_name("CapturePlatIntent")(handler_input)
def handle(self, handler_input):
# type: (HandlerInput) -> Response
slots = handler_input.request_envelope.request.intent.slots
plat = slots["plat"].value
attributes_manager = handler_input.attributes_manager
plat_attributes = {
"plat": plat
}
attributes_manager.persistent_attributes = plat_attributes
attributes_manager.save_persistent_attributes()
speak_output = correspondance(plat);
reprompt = "Si vous le souhaitez, vous pouvez me demander des informations sur un de ces vins en disant simplement son nom."
return (
handler_input.response_builder
.speak(speak_output)
.ask(reprompt)
.response
)