2017-07-18 6 views
5

J'essaie de développer une compétence Alexa, et j'ai besoin d'obtenir le temps relatif, par exemple: "il ya 5 minutes". J'ai défini un intervalle de temps pour mes compétences qui accepte le temps comme 5 minutes, 6.30 am ou 4 in the morning. Mais je ne suis pas en mesure d'accepter un moment comme 5 minutes ago. I nouveau Alexa et quelqu'un peut me aider avec ceObtenir le temps relatif dans Alexa

{ 
    "slots": [ 
    { 
     "name": "time", 
     "type": "AMAZON.TIME" 
    } 
    ], 
    "intent": "ReportTime" 
} 
+0

@Connum réponse ci-dessous est un bon début. Méfiez-vous simplement que vous pouvez rencontrer des problèmes liés au fuseau horaire, sauf si vous demandez des informations sur le code postal et que vous pouvez gérer cela vous-même, voir ce sujet: https://stackoverflow.com/questions/44072625/how-do-i-get-a-users- date-time-or-timezone-information-for-an-alexa-skill –

Répondre

3

Vous pouvez ajouter une fente {modifier} qui peut prendre plusieurs mots-clés comme « il y a » et « à partir de maintenant ». Le but pourrait alors avoir quelque chose comme les énoncés suivants:

{ 
    "name": "TimeTest", 
    "samples": [ 
    "what happened {time} {modifier}", 
    "what will happen {time} {modifier}" 
    ], 
    "slots": [ 
    { 
     "name": "time", 
     "type": "AMAZON.TIME", 
     "samples": [] 
    }, 
    { 
     "name": "modifier", 
     "type": "custom_time_modifier", 
     "samples": [] 
    } 
    ] 
} 

avec le type de modification personnalisé suivant:

"types": [ 
{ 
    "name": "custom_time_modifier", 
    "values": [ 
    { 
     "id": null, 
     "name": { 
     "value": "ago", 
     "synonyms": [ 
      "in the past" 
     ] 
     } 
    }, 
    { 
     "id": null, 
     "name": { 
     "value": "from now", 
     "synonyms": [ 
      "in the future" 
     ] 
     } 
    } 
    ] 
} 
+0

C'est génial. Merci beaucoup (Y) –