从内置的AMAZON.DURATION插槽类型中获取未格式化的Alexa值

时间:2017-02-01 11:14:55

标签: amazon alexa-skills-kit amazon-echo

我使用PT10M built-int slot type从我的自定义Alexa技能中获取数据。这非常有效,并将给定的持续时间转换为ISO-8601持续时间格式。

例如,插槽类型成功转换了#10;十分钟&#34;到<IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> 我可以从传递给我的Lambda函数的请求对象中获取这些数据。但是,我还想通过无格式的&#34;十分钟&#34;我的Lambda函数也是如此。

这可能吗?

2 个答案:

答案 0 :(得分:0)

经过多次试验和错误,我在亚马逊开发者论坛上问了同样的question,亚马逊的官方回复是:

  

嗨,虽然这是一个有趣的请求,但这是不可能的!

我最终用Python编写了一个手动转换函数。

答案 1 :(得分:0)

应手动将其转换。以下是nodejs转换为分钟的代码段。假设Alexa将PT5M发送给Lambda

var time = "PT5M";
var res = time.substring(2, (time.length));
var mins;
var timelist = res.split("H");
if(timelist.length > 1){
    mins = +parseInt((timelist[0]*60),10)+parseInt((timelist[1].substring(0,(timelist[1].length-1))),10);
}else{
    mins = res.substring(0, (res.length-1));
}
console.log(mins);