Hi guys,
I have some difficulties to handle unexpected values when requesting the firstname to the user (working fine whether user employ an existing firstname in Amazon.firstname collection but not for unexpected values).
Here is my setup:
-I have a "Config" Intent to request several user informations: firstname, age and city
-On this intent "Config" i have 3 slots with type: Amazon.
Firstname, and Amazon.
Number and Amazon.city
-I have a moment intent,"Search" to request user for a string to search for (that is the purpose of the skill search a query on a database)
-On this intent "Search" i have one unique slot with type: Amazon.
SearchQuery
Here is the behaviour i have:
- User start the skill and call the "Config" Intent
-We prompt the user using ElicitSlot for the first name
-whether user provide a existing firstname alexa is sending the request to "Config" Intent to traipse to the next slots "Age"(-> that is the expected behaviour)
-whether user provide an unexisting firstname (as for example: "test") alexa is sending the request to the "Search" Intent (-> that is NOT the expected behaviour, we expect to go to "Config" Handle and demand firstname again)
I understand Why Alexa is doing that: the word "test" don't have the type Amazon.
Firstname, or so the only intent Alexa is finding on this case is the "search" intent where Alexa find the slot Amazon.
SearchQuery the only one filling with the word "test"...
How to solve that?
I try to:
-Put an attributes when starting the slots request and i'm able to redirect the request from "Search" intent to the ConfigHandle intent -> problem is on this handle i'm using currentIntent.slots['FirstName'].value,but as Alexa launch the intent "Search" the slot "Firstname" don't exist on the "current intent" and the skill crash.
[br]execute we have a way to access Slots from a different intent? or execute we have any other solution?
Thanks for the help.
Source: amazon.com