我正在开发一个使用node和ask-cli
的Alexa应用程序的应用程序。为了进行测试,我使用了ask dialog
命令。我的Alexa技能的工作方式类似于琐事示例,在该示例中,您给用户一个问题,然后用户回答一个答案,但给出多个选择的索引。
问题是,对于身份验证,我要求用户给Alexa技能一个由四个数字组成的数字(我知道它不是那么安全,但是目前我不知道一种更好的方法)。因此,当我使用数字对其进行测试时,它不会填充请求意图的slot
变量,但是如果我使用文本而不是实际数字,它将起作用。
要提及的一件事是,它可以使用我的声音在网站上正常工作,因为我看不到它能区分数字或文本数字的方式,并且可以将其解释为文本。另外,我们需要计算一下,如果我仅使用 1位数字作为答案,那么它也会起作用。
失败的测试是(Alexa的最后一条消息是受控错误消息):
User > abrir la trivia favorita
Alexa > ¡Bienvenido!. Para empezar, ¿Puedes decirme tu código de usuario?
User > 9225
Alexa > No he entendido el código de usuario. ¿Podrías repetirlo?
但是如果我这样做(Alexa的成功信息),它就可以工作:
User > abrir la trivia favorita
Alexa > ¡Bienvenido!. Para empezar, ¿Puedes decirme tu código de usuario?
User > nueve dos dos cinco
Alexa > ¡Hola Pepín!, Bienvenido al sistema. ¿Cuál trivia deseas?
也在(Alexa的成功信息)下工作:
User > abrir la trivia favorita
Alexa > ¡Bienvenido!. Para empezar, ¿Puedes decirme tu código de usuario?
User > claro 9225
Alexa > ¡Hola Pepín!, Bienvenido al sistema. ¿Cuál trivia deseas?
这也有效(Alexa的成功信息):
User > abrir la trivia favorita
Alexa > ¡Bienvenido!. Para empezar, ¿Puedes decirme tu código de usuario?
User > nueve mil doscientos veinticinco
Alexa > ¡Hola Pepín!, Bienvenido al sistema. ¿Cuál trivia deseas?
我的模特是:
{
"name": "AnswerIntent",
"samples": [
"{Answer}",
"Elijo la opción {Answer}",
"La opción que deseo es {Answer}",
"Me gustaría elegir la opción {Answer}",
"Claro es este {Answer}",
"Si claro es este {Answer}",
"Claro {Answer}",
"Sin duda {Answer}"
],
"slots": [
{
"name": "Answer",
"type": "AMAZON.NUMBER",
"samples": []
}
]
}
我想知道的是,这是预料之中的事情,因为当您使用声音与之交互时,它所做的就是将其转换为用文字而不是实际数字书写的数字?还是我正在使用插槽进行某些操作?
答案 0 :(得分:0)
根据docs AMAZON.NUMBER“将数字单词(“五个”)转换为数字(例如“ 5”)。”因此,只能使用文字。
答案 1 :(得分:0)
也许您可以将广告位类型更改为AMAZON.FOUR_DIGIT_NUMBER,这种类型可以识别通常说四位数数字的特殊方式。
您可以在此处amazon documentation
查看文档