Code Monkey home page Code Monkey logo

skill-sample-nodejs-hello-world's Introduction

Build An Alexa Hello World Skill

This is a simple tutorial to introduce a simple Alexa skill and code.

Skill Architecture

Each skill consists of two basic parts, a front end and a back end. The front end is the voice interface, or VUI. The voice interface is configured through the voice interaction model. The back end is where the logic of your skill resides.

Three Options for Skill Setup

There are a number of different ways for you to setup your skill, depending on your experience and what tools you have available.


Additional Resources

Community

Tutorials & Guides

  • Voice Design Guide - A great resource for learning conversational and voice user interface design.
  • Codecademy: Learn Alexa - Learn how to build an Alexa Skill from within your browser with this beginner friendly tutorial on Codecademy!

Documentation

skill-sample-nodejs-hello-world's People

Contributors

akersh-s avatar aszk avatar bbezerra82 avatar deegles avatar ettrived-amazon avatar franklin-lobb avatar germanviscuso avatar hacker65536 avatar jakemkelly avatar jbnunn avatar jeffblankenburg avatar jennjin avatar jkochis avatar jnicho02 avatar letmypeoplecode avatar reaganmcf avatar robm26 avatar toshimin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skill-sample-nodejs-hello-world's Issues

Missing semicolon

Hello all,

In index.js

Line 15 this.emit('SayHello') is missing a semicolon at the end.

Update ask-sdk-core version

package.json specifies ask-sdk-core to be "^2.6.0". But that means that any skill initialized with ask new and selecting AWS Lambda hosting will not be able to take advantage of newer features such as APL-A in the response.

Recommend updating ask-sdk-core to "^2.11.0" (or higher). Might also have a look at the other versions in package.json as well to be sure that they're up-to-date.

Code Detail

Hi, It's good too see alexa-sdk live finally. thanks for writing a sample code.
Can you please explain this code bit, or how to execute/run this sample code ? Actually my main concern is how to use existing alexa skill (which i have created in developer console) here.

Can you please help me out.
Thanks

Not working with new Developer Portal

All tutorials are not working with the new developer portal. I'm new to Alexa but very common to AWS in general and it's very frustrating that AWS is changing the UI and the semantics of the templates without modifying the HowTos.

Unnecessary code for a "hello world" skill?

In recent months, I've found that some of the latest changes to this skill template are (at least in my mind) questionable. I've looked at the "Hello World" template as a barebones baseline skill project that can be used as the basis for almost any skill I might write. With that in mind, I'm wondering if there's opportunity for pruning (or if not, then an explanation of why some things are included):

  • The call to withCustomUserAgent() in index.js : What purpose does this serve? I know it affects the "userAgent" property in the response, but I find very little documentation or explanation around how this is useful.
  • Interaction models for ALL languages and locales : I'm all for supporting multiple languages and locales, but I find it easier to start with one language/locale and expand to others once the functionality of the skill has matured. Otherwise, anytime I create a new intent, I must make sure I declare it in all interaction model JSON files. It's much easier to start with one language/locale and then, when ready, copy that file for others and tweak it accordingly. Also, I've found that initially having models for all languages/locales makes the model compilation unnecessarily slower. Moreover, even if I plan to support multiple languages and locales, I might not be planning to support all of them, so having those extra model files around is waste and forces me to delete them.
  • Similarly, are all of the languages/locales in skill.json really necessary when getting started? I'd rather grow into those languages/locales as my skill matures than to have to think about them on day one.
  • lambda/custom/util.js : I can see how this module would be useful if my SSML responses need to reference a sound file stored in S3 or I'm building some APL that reference an image stored in S3. But the hello world template does neither of these. And, in fact, I can develop a fairly fully-functioning skill and never need util.js. Therefore, it seems to be dead weight in this project. Moreover, if it is potentially useful, then I'd rather it be baked into ASK or be a separate module that I could npm install, rather than be duplicated across all skill projects.
  • local-debugger.js : Now, I must say that I LOVE this little script and use it all of the time. But, should it be sitting in lambda/custom alongside my skill code? Could it not live in a separate folder so that it doesn't get deployed to AWS Lambda with my skill? (Yes, I cracked open the ZIP file that's uploaded and it's in there.)
  • "AMAZON.NavigateHomeIntent" in the models : This template in no other way demonstrates creating visual components for screen-enabled devices, so why is this intent even declared in the model(s) for this template?
  • (Small nit) I'd rearrange the intent declarations in the models such that all built-in intents are grouped together and stop and cancel are together, with the "HelloWorldIntent" declared either first or last (I'd favor first, but I'd be okay with it either way).

Again, I view the "hello world" template as the simplest possible example of a skill and some of the stuff I've mentioned strays from that. When cards were removed from the template, I initially was upset to see them go, but then justified their removal because they were unnecessary in the "simplest possible skill", so I'm fine with them being gone. But these other items I've listed above seem counter to the "simplest possible skill".

I'd be happy to do a little work and produce a PR to address these items, but given that these are mostly due to recent changes, I'd imagine that there might be a reason for them and I'd love to hear the reasoning behind these things.

Using this without Lambda

All the examples I've encountered seem to be tightly coupled to using Lambda.

It'd be very useful to enhance these examples so they can be run standalone, on someones personal web server for example (still using a Node.js environment). Thanks!

To run ask init, navigating into the repo folder is not required.

In file 7-cli.md, item 3 under Installation, the instructions for running ask init mention the need to first navigate into the repo folder. This is not necessary, as ask init is a command that needs to be performed one-time only (after installation of the ASK CLI), and not per each repository. Item 3 should simply mention the need to run ask init if it hasn't been run before.

Supporting evidence: ASK CLI init command documentation.

invalid manifest

I tried cloning & deploying this repo per instructions and received an Invalid skill manifest error.
screen shot 2018-06-14 at 11 19 26 am

Add AMAZON.FallbackIntent and handler to ask-cli-x branch

A lot of what has been added in the master branch in the past year or so is, IMO, unnecessary. But, I did enjoy seeing the addition of the AMAZON.FallbackIntent and would like to see it in the ask-cli-x branch for users of the new ASK CLI v2.0.x.

Without this intent and a corresponding handler, almost any utterance will match the HelloWorldIntent, even if the match is very low...making the list of sample utterances for HelloWorldIntent seem pointless. With the fallback intent in play, the utterances that match HelloWorldIntent make more sense and other utterances that don't make sense get captured by the fallback intent.

Moreover, the fallback intent is something that most Alexa skills will want to have in play, so including it in this template eliminates the need for the skill developer to add it themselves.

YouTube Skill

{
"modelo de interacción": {
"modelo de idioma": {
"nombreInvocación": "YouTube",
"intenciones": [
{
"nombre": "AMAZON.CancelIntent",
"muestras": [
"cancelar"
]
},
{
"nombre": "AMAZON.HelpIntent",
"muestras": [
"ayúdame",
"ayuda"
]
},
{
"nombre": "AMAZON.StopIntent",
"muestras": [
"paraca",
"distensión",
"Alto"
]
},
{
"nombre": "AMAZON.PauseIntent",
"muestras": []
},
{
"nombre": "AMAZON.ResumeIntent",
"muestras": []
},
{
"nombre": "Intento de búsqueda",
"ranuras": [
{
"nombre": "consulta",
"tipo": "AMAZON.SearchQuery"
}
],
"muestras": [
"reproducir {consulta}",
"reproducir canciones de {consulta}",
"reproducir música de {consulta}",
"reproducir canciones de {consulta}",
"reproducir canciones de {consulta}",
"reproducir video de {consulta}",
"reproducir {consulta}",
"reproducir canciones de {query}",
"reproducir música de {consulta}",
"reproducir canciones de {query}",
"reproducir canciones de {query}",
"reproducir video de {consulta}",
"pon {consulta}",
"pon canciones de {consulta}",
"pon música de {consulta}",
"pon canciones de {consulta}",
"pon canciones de {consulta}",
"pon video de {consulta}",
"medidor {consulta}",
"meter canciones de {consulta}",
"metro musica de {consulta}",
"meter canciones de {consulta}",
"meter canciones de {consulta}",
"medir video de {consulta}",
"pon {consulta}",
"pon canciones de {consulta}",
"pon música de {consulta}",
"pon canciones de {consulta}",
"pon canciones de {consulta}",
"poner {consulta}",
"poner canciones de {query}",
"poner musica de {consulta}",
"poner canciones de {query}",
"poner canciones de {query}",
"pon {consulta}",
"pon canciones de {consulta}",
"pon música de {consulta}",
"pon canciones de {consulta}",
"pon canciones de {consulta}",
"pon video de {consulta}",
"poner {consulta}",
"poner canciones de {query}",
"poner musica de {consulta}",
"poner canciones de {query}",
"poner canciones de {query}",
"poner video de {query}",
"busca {consulta}",
"busca canciones de {consulta}",
"busca música de {consulta}",
"busca canciones de {consulta}",
"busca canciones de {consulta}",
"busca video de {query}",
"buscar {consulta}",
"buscar canciones de {consulta}",
"buscar musica de {consulta}",
"buscar canciones de {consulta}",
"buscar canciones de {consulta}",
"buscar video de {consulta}",
"encuentra {consulta}",
"encuentra canciones de {query}",
"encuentra musica de {query}",
"encuentra canciones de {query}",
"encuentra canciones de {query}",
"encuentra el video de {query}",
"poner {consulta}",
"poner canciones de {query}",
"poner musica de {consulta}",
"poner canciones de {query}",
"poner canciones de {query}",
"poner video de {query}",
"sentir {consulta}",
"sentir canciones de {consulta}",
"sentir música de {consulta}",
"sentir canciones de {consulta}",
"sentir canciones de {consulta}",
"ver video de {consulta}",
"escucha {consulta}",
"escucha canciones de {consulta}",
"escucha musica de {consulta}",
"escucha canciones de {consulta}",
"escucha canciones de {consulta}",
"escucha video de {query}",
"escuchar {consulta}",
"escuchar canciones de {consulta}",
"escuchar musica de {consulta}",
"escuchar canciones de {consulta}",
"escuchar canciones de {consulta}",
"escuchar video de {query}",
"mostra el video de {query}",
"mostrar video de {query}"
]
},
{
"nombre": "ShuffleIntent",
"ranuras": [
{
"nombre": "consulta",
"tipo": "AMAZON.SearchQuery"
}
],
"muestras": [
"reproducir en orden casual {consulta}",
"reproducir en orden canciones casuales de {query}",
"reproducir en orden musica casual de {query}",
"reproducir en orden canciones casuales de {query}",
"reproducir en orden canciones casuales de {query}",
"reproducir en orden video casual de {query}",
"reproducir en orden casual {consulta}",
"reproducir en orden canciones casuales de {query}",
"reproducir en orden musica casual de {query}",
"reproducir en orden canciones casuales de {query}",
"reproducir en orden canciones casuales de {query}",
"reproducir en orden video casual de {query}",
"pon en orden casual {consulta}",
"pon en orden canciones casuales de {query}",
"pon en orden musica casual de {query}",
"pon en orden canciones casuales de {query}",
"pon en orden canciones casuales de {query}",
"pon en orden casual video de {query}",
"metro en orden casual {consulta}",
"meter en orden canciones casuales de {query}",
"meter en orden musica casual de {query}",
"meter en orden canciones casuales de {query}",
"meter en orden canciones casuales de {query}",
"metro en orden casual video de {query}",
"pon en orden casual {consulta}",
"pon en orden canciones casuales de {query}",
"pon en orden musica casual de {query}",
"pon en orden canciones casuales de {query}",
"pon en orden canciones casuales de {query}",
"poner en orden casual {consulta}",
"poner en orden canciones casuales de {query}",
"poner en orden musica casual de {query}",
"poner en orden canciones casuales de {query}",
"poner en orden canciones casuales de {query}",
"pon en orden casual {consulta}",
"pon en orden canciones casuales de {query}",
"pon en orden musica casual de {query}",
"pon en orden canciones casuales de {query}",
"pon en orden canciones casuales de {query}",
"pon en orden casual video de {query}",
"poner en orden casual {consulta}",
"poner en orden canciones casuales de {query}",
"poner en orden musica casual de {query}",
"poner en orden canciones casuales de {query}",
"poner en orden canciones casuales de {query}",
"poner en orden un video casual de {query}",
"busca en orden casual {consulta}",
"busca en orden canciones casuales de {query}",
"busca en orden musica casual de {query}",
"busca en orden canciones casuales de {query}",
"busca en orden canciones casuales de {query}",
"busca en orden casual video de {query}",
"buscar en orden casual {consulta}",
"buscar en orden canciones casuales de {query}",
"buscar en orden musica casual de {query}",
"buscar en orden canciones casuales de {query}",
"buscar en orden canciones casuales de {query}",
"buscar en orden casual video de {query}",
"encuentra en orden casual {consulta}",
"encuentra en orden casual canciones de {query}",
"encuentra en orden musica casual de {query}",
"encuentra en orden casual canciones de {query}",
"encuentra en orden casual canciones de {query}",
"encuentra en orden casual video de {query}",
"poner en orden casual {consulta}",
"poner en orden canciones casuales de {query}",
"poner en orden musica casual de {query}",
"poner en orden canciones casuales de {query}",
"poner en orden canciones casuales de {query}",
"poner en orden un video casual de {query}",
"sentir en orden casual {consulta}",
"sentir en orden canciones casuales de {query}",
"sentir en orden musica casual de {query}",
"sentir en orden canciones casuales de {query}",
"sentir en orden canciones casuales de {query}",
"ver en orden casual video de {query}",
"escucha en orden casual {consulta}",
"escucha en orden casual canciones de {query}",
"escucha en orden musica casual de {query}",
"escucha en orden casual canciones de {query}",
"escucha en orden casual canciones de {query}",
"escucha en orden casual video de {query}",
"escuchar en orden casual {consulta}",
"escuchar en orden canciones casuales de {query}",
"escuchar en orden musica casual de {query}",
"escuchar en orden canciones casuales de {query}",
"escuchar en orden canciones casuales de {query}",
"escuchar en orden casual video de {query}",
"mostra en orden casual video de {query}",
"mostrar en orden casual video de {query}"
]
},
{
"nombre": "Intento de lista de reproducción",
"ranuras": [
{
"nombre": "consulta",
"tipo": "AMAZON.SearchQuery"
}
],
"muestras": [
"reproducir la lista de reproducción {consulta}",
"reproducir la lista de reproducción {consulta}",
"reproducirme la lista de reproducción {consulta}",
"reproducirme la lista de reproducción {consulta}",
"pon la lista de reproducción {consulta}",
"medir la lista de reproducción {consulta}",
"ponme la lista de reproducción {consulta}",
"metenme la playlist {consulta}",
"pon la lista de reproducción {consulta}",
"poner la lista de reproducción {consulta}",
"ponme la lista de reproducción {consulta}",
"ponerme la lista de reproducción {consulta}",
"pon la lista de reproducción {consulta}",
"poner la lista de reproducción {consulta}",
"ponme la lista de reproducción {consulta}",
"ponerme la lista de reproducción {consulta}",
"busca la lista de reproducción {consulta}",
"buscar la lista de reproducción {consulta}",
"buscame la playlist {consulta}",
"buscame la playlist {consulta}",
"encuentra la lista de reproducción {query}",
"poner la lista de reproducción {consulta}",
"encuéntrame la lista de reproducción {query}",
"encontrarme la lista de reproducción {consulta}",
"sentir la lista de reproducción {consulta}",
"escucha la playlist {consulta}",
"escuchar la lista de reproducción {consulta}",
"mostrar la lista de reproducción {consulta}",
"mostrar la lista de reproducción {consulta}",
"muestrame la playlist {consulta}",
"mostrarme la lista de reproducción {consulta}"
]
},
{
"name": "ShufflePlaylistIntent",
"ranuras": [
{
"nombre": "consulta",
"tipo": "AMAZON.SearchQuery"
}
],
"muestras": [
"reproducir en orden casual la lista de reproducción {consulta}",
"reproducir en orden casual la lista de reproducción {query}",
"reproducirme en orden casual la lista de reproducción {consulta}",
"reproducirme en orden casual la lista de reproducción {consulta}",
"pon en orden casual la playlist {consulta}",
"medir en orden casual la lista de reproducción {consulta}",
"ponme en orden casual la playlist {query}",
"metenme en orden casual la playlist {consulta}",
"pon en orden casual la playlist {consulta}",
"poner en orden casual la lista de reproducción {query}",
"ponme en orden casual la playlist {query}",
"ponerme en orden casual la playlist {query}",
"pon en orden casual la playlist {consulta}",
"poner en orden casual la lista de reproducción {query}",
"ponme en orden casual la playlist {query}",
"ponerme en orden casual la playlist {query}",
"sentir en orden casual la lista de reproducción {query}",
"escucha en orden casual la playlist {query}",
"escuchar en orden casual la playlist {query}",
"mostra en orden casual la lista de reproducción {query}",
"mostrar en orden casual la lista de reproducción {query}",
"muestrame en orden casual la playlist {query}",
"Mostrarme en orden casual la lista de reproducción {query}"
]
},
{
"name": "SearchMyPlaylistsIntent",
"ranuras": [
{
"nombre": "consulta",
"tipo": "AMAZON.SearchQuery"
}
],
"muestras": [
"reproducir mi lista de reproducción {consulta}",
"reproducir mi lista de reproducción {consulta}",
"reproducir mi lista de reproducción {consulta}",
"reproducir mi lista de reproducción {consulta}",
"pon mi lista de reproducción {consulta}",
"medir mi lista de reproducción {consulta}",
"ponme mi lista de reproducción {consulta}",
"metenme mi lista de reproducción {consulta}",
"pon mi lista de reproducción {consulta}",
"poner mi lista de reproducción {consulta}",
"ponme mi lista de reproducción {consulta}",
"ponerme mi lista de reproducción {consulta}",
"pon mi lista de reproducción {consulta}",
"poner mi lista de reproducción {consulta}",
"ponme mi lista de reproducción {consulta}",
"ponerme mi lista de reproducción {consulta}",
"busca mi lista de reproducción {consulta}",
"buscar mi lista de reproducción {consulta}",
"búscame mi lista de reproducción {consulta}",
"búscame mi lista de reproducción {consulta}",
"encuentra mi lista de reproducción {query}",
"poner mi lista de reproducción {consulta}",
"encuéntrame mi lista de reproducción {query}",
"encontrame mi playlist {consulta}",
"sentir mi lista de reproducción {consulta}",
"escucha mi lista de reproducción {consulta}",
"escuchar mi playlist {consulta}",
"mostra mi lista de reproducción {consulta}",
"mostrar mi lista de reproducción {consulta}",
"muestrame mi playlist {consulta}",
"mostrarme mi lista de reproducción {consulta}"
]
},
{
"nombre": "NextPlaylistIntent",
"ranuras": [],
"muestras": [
"lista de reproducción sucesiva",
"reproducir la lista de reproducción sucesiva",
"reproducir la playlist sucesiva",
"reproduceme la playlist sucesiva",
"reproduceme la playlist sucesiva",
"pon la playlist sucesiva",
"meter la playlist sucesiva",
"ponme la playlist sucesiva",
"metenme la playlist sucesiva",
"pon la playlist sucesiva",
"poner la playlist sucesiva",
"ponme la playlist sucesiva",
"ponerme la playlist sucesiva",
"pon la playlist sucesiva",
"poner la playlist sucesiva",
"ponme la playlist sucesiva",
"ponerme la playlist sucesiva",
"busca la playlist sucesiva",
"buscar la playlist sucesiva",
"buscame la playlist sucesiva",
"buscame la playlist sucesiva",
"encuentra la playlist sucesiva",
"poner la playlist sucesiva",
"encuéntrame la playlist sucesiva",
"encontrarme la playlist sucesiva",
"sentir la playlist sucesiva",
"escucha la playlist sucesiva",
"escuchar la playlist sucesiva",
"mostra la playlist sucesiva",
"Mostrar la lista de reproducción sucesiva",
"muestrame la playlist sucesiva",
"mostrarme la playlist sucesiva",
"lista de reproducción aproximada",
"reproducir lista de reproducción La próxima",
"reproducir la próxima lista de reproducción",
"reproduceme la playlist de la próxima",
"reproduceme la playlist de la próxima",
"pon La próxima lista de reproducción",
"metro La próxima lista de reproducción",
"ponme la próxima lista de reproducción",
"metenme la próxima lista de reproducción",
"pon La próxima lista de reproducción",
"poner la próxima lista de reproducción",
"ponme la próxima lista de reproducción",
"ponerme la próxima lista de reproducción",
"pon La próxima lista de reproducción",
"poner la próxima lista de reproducción",
"ponme la próxima lista de reproducción",
"ponerme la próxima lista de reproducción",
"busca la próxima lista de reproducción",
"buscar la próxima lista de reproducción",
"buscame la playlist de la próxima",
"buscame la playlist de la próxima",
"encuentra la próxima lista de reproducción",
"poner la próxima lista de reproducción",
"encuéntrame la próxima lista de reproducción",
"Encuéntrame la próxima lista de reproducción",
"sentir la próxima lista de reproducción",
"escucha la próxima lista de reproducción",
"escuchar la próxima playlist",
"mostra la próxima lista de reproducción",
"mostrar la próxima lista de reproducción",
"Muéstrame la próxima lista de reproducción",
"Mostrarme La próxima lista de reproducción"
]
},
{
"name": "ShuffleMyPlaylistsIntent",
"ranuras": [
{
"nombre": "consulta",
"tipo": "AMAZON.SearchQuery"
}
],
"muestras": [
"reproducir en orden casual mi lista de reproducción {consulta}",
"reproducir en orden casual mi lista de reproducción {query}",
"reproducirme en orden casual mi lista de reproducción {consulta}",
"reproducirme en orden casual mi lista de reproducción {consulta}",
"pon en orden casual mi lista de reproducción {query}",
"medir en orden casual mi lista de reproducción {consulta}",
"ponme en orden casual mi playlist {query}",
"metenme en orden casual mi playlist {consulta}",
"pon en orden casual mi lista de reproducción {query}",
"poner en orden casual mi lista de reproducción {query}",
"ponme en orden casual mi playlist {query}",
"ponerme en orden casual mi playlist {query}",
"pon en orden casual mi lista de reproducción {query}",
"poner en orden casual mi lista de reproducción {query}",
"ponme en orden casual mi playlist {query}",
"ponerme en orden casual mi playlist {query}",
"busca en orden casual mi lista de reproducción {query}",
"buscar en orden casual mi lista de reproducción {query}",
"buscame en orden casual mi playlist {query}",
"buscame en orden casual mi playlist {query}",
"encuentra en orden casual mi lista de reproducción {query}",
"poner en orden casual mi lista de reproducción {query}",
"encuéntrame en orden casual mi lista de reproducción {query}",
"encontrarme en orden casual mi playlist {query}",
"sentir en orden casual mi lista de reproducción {query}",
"escucha en orden casual mi playlist {query}",
"escuchar en orden casual mi playlist {query}",
"mostra en orden casual mi lista de reproducción {query}",
"mostrar en orden casual mi lista de reproducción {query}",
"muestrame en orden casual mi playlist {query}",
"mostrarme en orden casual mi lista de reproducción {consulta}"
]
},
{
"nombre": "ChannelIntent",
"ranuras": [
{
"nombre": "consulta",
"tipo": "AMAZON.SearchQuery"
}
],
"muestras": [
"reproducir el canal {consulta}",
"reproducir el canal {consulta}",
"reproducirme el canal {consulta}",
"reproducirme el canal {consulta}",
"pon el canal {consulta}",
"meter el canal {consulta}",
"ponme el canal {consulta}",
"metenme el canal {consulta}",
"pon el canal {consulta}",
"poner el canal {consulta}",
"ponme el canal {consulta}",
"ponerme el canal {consulta}",
"pon el canal {consulta}",
"poner el canal {consulta}",
"ponme el canal {consulta}",
"ponerme el canal {consulta}",
"busca el canal {consulta}",
"buscar el canal {consulta}",
"buscame el canal {consulta}",
"buscame el canal {consulta}",
"encuentra el canal {query}",
"poner el canal {consulta}",
"encuéntrame el canal {query}",
"encontrarme el canal {consulta}",
"sentir el canal {consulta}",
"escucha el canal {consulta}",
"escuchar el canal {consulta}",
"mostra el canal {consulta}",
"mostrar el canal {consulta}",
"muestrame el canal {consulta}",
"mostrarme el canal {consulta}"
]
},
{
"nombre": "ShuffleChannelIntent",
"ranuras": [
{
"nombre": "consulta",
"tipo": "AMAZON.SearchQuery"
}
],
"muestras": [
"reproducir en orden casual el canal {consulta}",
"reproducir en orden casual el canal {query}",
"reproducirme en orden casual el canal {consulta}",
"reproducirme en orden casual el canal {consulta}",
"pon en orden casual el canal {consulta}",
"meter en orden casual el canal {consulta}",
"ponme en orden casual el canal {query}",
"metenme en orden casual el canal {consulta}",
"pon en orden casual el canal {consulta}",
"poner en orden casual el canal {query}",
"ponme en orden casual el canal {query}",
"ponerme en orden casual el canal {query}",
"pon en orden casual el canal {consulta}",
"poner en orden casual el canal {query}",
"ponme en orden casual el canal {query}",
"ponerme en orden casual el canal {query}",
"busca en orden casual el canal {query}",
"buscar en orden casual el canal {query}",
"buscame en orden casual el canal {query}",
"buscame en orden casual el canal {query}",
"encuentra en orden casual el canal {query}",
"poner en orden casual el canal {query}",
"encuentrame en orden casual el canal {query}",
"encontrarme en orden casual el canal {consulta}",
"sentir en orden casual el canal {consulta}",
"escucha en orden casual el canal {query}",
"escuchar en orden casual el canal {query}",
"mostra en orden casual el canal {consulta}",
"mostrar en orden casual el canal {query}",
"muestrame en orden casual el canal {consulta}",
"mostrarme en orden casual el canal {consulta}"
]
},
{
"name": "Intención de reproducción ahora",
"ranuras": [],
"muestras": [
"Quien es",
"Que es",
"Que canción es",
"Que video es",
"Que video esta reproduciendo",
"Que cancion esta reproduciendo",
"Que esta reproduciendo",
"Que video esta reproduciendo",
"Que cancion esta reproduciendo",
"Que es esta musica",
"Que esta reproduciendo"
]
},
{
"nombre": "Saltar a la intención",
"ranuras": [
{
"nombre": "minutos",
"tipo": "AMAZON.NUMBER"
},
{
"nombre": "segundos",
"tipo": "AMAZON.NUMBER"
},
{
"nombre": "horas",
"tipo": "AMAZON.NUMBER"
}
],
"muestras": [
"Adelanta {horas} hora",
"Adelanta {horas} horas",
"Adelanta {horas} hora {minutos} minuto y {segundos} segundo",
"Adelanta {horas} hora {minutos} minuto y {segundos} segundo",
"Adelanta {horas} hora {minutos} minuto y {segundos} segundos",
"Adelanta {horas} hora {minutos} minuto y {segundos} segundos",
"Adelanta {horas} horas {minutos} minuto y {segundos} segundos",
"Adelanta {horas} horas {minutos} minuto y {segundos} segundo",
"Adelanta {horas} horas {minutos} minuto y {segundos} segundo",
"Adelanta {horas} horas {minutos} minuto y {segundos} segundos",
"Adelanta {horas} hora {minutos} minuto",
"Adelanta {horas} hora {minutos} minutos",
"Adelanta {horas} horas {minutos} minuto",
"Adelanta {horas} horas {minutos} minutos",
"Adelanta {horas} horas y {segundos} segundo",
"Adelanta {horas} horas y {segundos} segundos",
"Adelanta {horas} horas y {segundos} segundo",
"Adelanta {horas} horas y {segundos} segundos",
"Adelanta {minutos} minuto y {segundos} segundo",
"Adelanta {minutos} minuto y {segundos} segundo",
"Adelanta {minutos} minuto y {segundos} segundos",
"Adelanta {minutos} minuto y {segundos} segundos",
"Adelanta {minutos} minuto",
"Adelanta {minutos} minutos",
"Adelanta {segundos} segundos",
"Adelanta {segundos} segundo",
"Retrocede {horas} hora",
"Retrocede {horas} horas",
"Retrocede {horas} hora {minutos} minuto y {segundos} segundo",
"Retrocede {horas} hora {minutos} minutos y {segundos} segundo",
"Retrocede {horas} hora {minutos} minutos y {segundos} segundos",
"Retrocede {horas} hora {minutos} minuto y {segundos} segundos",
"Retrocede {horas} horas {minutos} minuto y {segundos} segundos",
"Retrocede {horas} horas {minutos} minuto y {segundos} segundo",
"Retrocede {horas} horas {minutos} minutos y {segundos} segundo",
"Retrocede {horas} horas {minutos} minutos y {segundos} segundos",
"Retrocede {horas} hora {minutos} minuto",
"Retrocede {horas} hora {minutos} minutos",
"Retrocede {horas} horas {minutos} minuto",
"Retrocede {horas} horas {minutos} minutos",
"Retrocede {horas} hora y {segundos} segundo",
"Retrocede {horas} hora y {segundos} segundos",
"Retrocede {horas} horas y {segundos} segundo",
"Retrocede {horas} horas y {segundos} segundos",
"Retrocede {minutos} minuto y {segundos} segundo",
"Retrocede {minutos} minutos y {segundos} segundo",
"Retrocede {minutos} minutos y {segundos} segundos",
"Retrocede {minutos} minuto y {segundos} segundos",
"Retrocede {minutos} minuto",
"Retrocede {minutos} minutos",
"Retrocede {segundos} segundos",
"Retrocede {segundos} segundo"
]
},
{
"nombre": "SkipForwardIntent",
"ranuras": [
{
"nombre": "minutos",
"tipo": "AMAZON.NUMBER"
},
{
"nombre": "segundos",
"tipo": "AMAZON.NUMBER"
},
{
"nombre": "horas",
"tipo": "AMAZON.NUMBER"
}
],
"muestras": [
"Avanza {horas} hora",
"Adelanta {horas} horas",
"Adelanta {horas} hora {minutos} minuto y {segundos} segundo",
"Adelanta {horas} hora {minutos} minutos y {segundos} segundo",
"Adelanta {horas} hora {minutos} minutos y {segundos} segundos",
"Adelanta {horas} hora {minutos} minuto y {segundos} segundos",
"Adelanta {horas} horas {minutos} minuto y {segundos} segundos",
"Adelanta {horas} horas {minutos} minuto y {segundos} segundo",
"Adelanta {horas} horas {minutos} minutos y {segundos} segundo",
"Adelanta {horas} horas {minutos} minutos y {segundos} segundos",
"Adelanta {horas} hora {minutos} minuto",
"Adelanta {horas} hora {minutos} minutos",
"Adelanta {horas} horas {minutos} minuto",
"Adelanta {horas} horas {minutos} minutos",
"Adelanta {horas} hora y {segundos} segundo",
"Adelanta {horas} hora y {segundos} segundos",
"Adelanta {horas} horas y {segundos} segundo",
"Adelanta {horas} horas y {segundos} segundos",
"Adelanta {minutos} minuto y {segundos} segundo",
"Adelanta {minutos} minutos y {segundos} segundo",
"Adelanta {minutos} minutos y {segundos} segundos",
"Adelanta {minutos} minuto y {segundos} segundos",
"Adelanta {minutos} minuto",
"Adelanta {minutos} minutos",
"Adelanta {segundos} segundos",
"Adelanta {segundos} segundo"
]
},
{
"nombre": "Omitir IntentoAtrás",
"ranuras": [
{
"nombre": "minutos",
"tipo": "AMAZON.NUMBER"
},
{
"nombre": "segundos",
"tipo": "AMAZON.NUMBER"
},
{
"nombre": "horas",
"tipo": "AMAZON.NUMBER"
}
],
"muestras": [
"Retrocede {horas} hora",
"Retrocede {horas} horas",
"Retrocede {horas} hora {minutos} minuto y {segundos} segundo",
"Retrocede {horas} hora {minutos} minutos y {segundos} segundo",
"Retrocede {horas} hora {minutos} minutos y {segundos} segundos",
"Retrocede {horas} hora {minutos} minuto y {segundos} segundos",
"Retrocede {horas} horas {minutos} minuto y {segundos} segundos",
"Retrocede {horas} horas {minutos} minuto y {segundos} segundo",
"Retrocede {horas} horas {minutos} minutos y {segundos} segundo",
"Retrocede {horas} horas {minutos} minutos y {segundos} segundos",
"Retrocede {horas} hora {minutos} minuto",
"Retrocede {horas} hora {minutos} minutos",
"Retrocede {horas} horas {minutos} minuto",
"Retrocede {horas} horas {minutos} minutos",
"Retrocede {horas} hora y {segundos} segundo",
"Retrocede {horas} hora y {segundos} segundos",
"Retrocede {horas} horas y {segundos} segundo",
"Retrocede {horas} horas y {segundos} segundos",
"Retrocede {minutos} minuto y {segundos} segundo",
"Retrocede {minutos} minutos y {segundos} segundo",
"Retrocede {minutos} minutos y {segundos} segundos",
"Retrocede {minutos} minuto y {segundos} segundos",
"Retrocede {minutos} minuto",
"Retrocede {minutos} minutos",
"Retrocede {segundos} segundos",
"Retrocede {segundos} segundo"
]
},
{
"nombre": "AMAZON.SíIntento",
"muestras": []
},
{
"nombre": "AMAZON.NoIntent",
"muestras": []
}
],
"tipos": []
}
}
}

Hello World Example - AWS hosted instructions

The link for AWS hosted instructions in the Hello World Example link is having issue - The 'alexa-samples/skill-sample-nodejs-hello-world' repository doesn't contain the 'instructions/setup-vui-aws-hosted.md' path in 'master'.

Problems uploading the skill in AWS Lambda - Process exited before

I'm just trying to test the hello world skill on AWS lambda, but giving following errors

Execution result

{
  "errorMessage": "RequestId: 03d87827-edf4-11e6-8c3c-4db53bca2172 Process exited before completing request"
}

Logs

START RequestId: 03d87827-edf4-11e6-8c3c-4db53bca2172 Version: $LATEST
2017-02-08T11:44:57.940Z	03d87827-edf4-11e6-8c3c-4db53bca2172	TypeError: Cannot read property 'locale' of undefined
    at AlexaRequestEmitter.HandleLambdaEvent (/var/task/node_modules/alexa-sdk/lib/alexa.js:102:38)
    at AlexaRequestEmitter.Object.defineProperty.value (/var/task/node_modules/alexa-sdk/lib/alexa.js:91:31)
    at exports.handler (/var/task/index.js:7:11)
END RequestId: 03d87827-edf4-11e6-8c3c-4db53bca2172
REPORT RequestId: 03d87827-edf4-11e6-8c3c-4db53bca2172	Duration: 123.38 ms	Billed Duration: 200 ms 	Memory Size: 128 MB	Max Memory Used: 26 MB	
RequestId: 03d87827-edf4-11e6-8c3c-4db53bca2172 Process exited before completing request

I follow following instructions for packaging the function:
http://docs.aws.amazon.com/lambda/latest/dg/nodejs-create-deployment-pkg.html

And my structure is like following:
Function.zip

Function/
...index.js
...node_modules/

What could be the issue?


EDIT

I've also tried to set AmazonDynamoDBFullAccess role as specified in
alexa-samples/skill-sample-nodejs-highlowgame#1
with no success

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.