alexa-js / alexa-app

A framework for Alexa (Amazon Echo) apps using Node.js
https://www.youtube.com/watch?v=pzM4jv7k7Rg
MIT License
1.03k stars 212 forks source link

REPLACE_ALL play behavior has no effect #413

Open aldrichdev opened 3 years ago

aldrichdev commented 3 years ago

Quick foreword: I'm working on a skill that I did not create.

Per the Alexa documentation, setting the playBehavior to REPLACE_ALL is supposed to replace any enqueued speech with the latest command, however this is not working for me. My skill is using your code and I can confirm in my alexaApp.js file (which appears to be your index.js file) that if I log this.response.response.playBehavior, I see REPLACE_ALL in the console. Specifically I am logging it inside the response.send = function(exception) {... call. Thus, if your code is returning response.response, my question is, why is the playBehavior not respected?

I can tell it is not being respected because if I tap a visual element of my skill multiple times quickly, Alexa will repeat the same messages over and over again, sometimes for minutes, and this can happen even if I already closed the skill.

P.S. Is this project still being managed? Was it an alternative to Alexa's ASK Node.js SDK V1, and should my skill be using Alexa's ASK Node.js SDK V2 instead?

aldrichdev commented 3 years ago

Actually, this may be a bug with Alexa itself, as it seems like your library is essentially sending a JSON string to the Alexa device - correct? If so, that's listed as a supported method of sending the playBehavior in that document ("Raw JSON" tab), so I have created a case with Amazon developer support for them to troubleshoot. This can probably be closed.