Alexa not always responding to questions - alexa

I have a skill in beta which works occassionally with Alexa. When I say
Alexa ask MySkill....
She sometimes responds and sometimes says
"sorry I dont know that one" or "sorry I;m not sure"
My lambda logs dont contain anything which implies lambda is not being called. Are there any other logs I can look at to see what is happening?
My invocation name is two words so I'm wondering if Alexa is sometimes hearing it as one and then not finding the intent.
Thanks

Related

Alexa skill having trouble avoiding the FallbackIntent

I'm having trouble avoiding the FallbackIntent. I'm writing a skill that labels different days Red Days or Blue Days. Using the dev console Utterance Profile I keep getting the fallback intent when I ask "is today a red day". I have a specific sample of that question in my interaction model so I don't understand why my intent is not getting identified. Does anyone have a suggestion?
specyfying the skill name does not help
Saving is not enough, you missed the "build model" button so the utterance profiler will be able to evaluate your utterances.
After building, you can see it work properly.
Also, I recommend you to keep AMAZON.FallbackIntent in case your user is saying something not defined in your Interaction model. You might want to catch that.

Discord Auto Respond C#

I was wondering if anyone knew how to, if possible, make a simple bot that just responds to DM's sent to you. For example, if a friend DM's you, a bot responds with something like
"This is an automated response, hang in there and I'll soon respond."
Thanks in advance.
Previously answered in Auto-reply to direct messages
It's against Discord's TOS https://support.discord.com/hc/en-us/articles/115002192352-Automated-user-accounts-self-bots-
Hopefully in the future, they create some small feature that just gives a basic response. Though, it is understandable why they don't want this as it could cause a lot of spam DM's and fake "people" hopping into your DM's.

Checking info in API in an Alexa Skill

In an Alexa Skill, I have an intent of ordering an ice cream. I know I can check some information in an API or whatever function I have built inside my Python code, but only if that function is literally atomical.
If I have slots, asking for more information, I cannot check for api info or other personal functions, because having slots in Alexa is not like having slots in a chatbot, for example. There is no "dialog tree" or anything similar.
The Ice cream example is simple, but I tried first on doing this before moving on something more complex.
This would be the very basic format of the intent:
But what I want is during this execution, get some information, inside the intent!
I have searched everywhere, and I have not found anything useful. I asked the Alexa Developer support, and they told me to check Dialog. This was also part of the answer:
Skill interaction model completely depends on slots defined in your skill. But you can even make it more dynamic depending on no of slot values provided by user but it will always from interaction model already defined in your skill.
You can't create dynamic response based on the data you are getting from APIs or from skill.
But seeing other Alexa skills that are deployed, I guess it should be possible!
What I thought on doing is several functions like:
get the icecream: only that, getting an icecream flavour. Identifying the flavour in python and calling the api. Saving the flavour in a slot/dynamodb.
Add something: Everytime the user wants to add something (like whipped cream), call this function. Checking the api depending on what the user wants to add.
This makes it a bit dirty in my opinion, and makes the user lose a bit of flow with Alexa, but might do the job. But is there any way to do it directly in only one function (even though it is atomical)?

WitAI - Your app may fail to handle this story properly

I've been playing with WitAI recently to see what it can do, and I had built a user flow of about 5/6 questions, with a couple of Yes/No/I don't know branches etc. I've set up a couple of "bot executes" options with the hope in the future that I will write some function on my side to do data processing etc.
But on every save now, I see a red light on the left side saying "Your app may fail to handle this story properly".
I've rebuilt a use flow with no bot executes, and no branches, and I've trained up the bot on each sentence to expect, but I still see this. I'm really confused, as there are no fields highlighted red to suggest that the bot doesn't understand that line. Can anyone help out here?

Can you launch an Amazon Echo (Alexa) skill with just the name of the skill? No other connecting words

Is it possible to launch an Alexa App with just its name? This is similar to when you ask it what the weather is.
"Alexa, weather"
However I would like to be able to say
"Alex, weather in Chicago" and have it return that value
I can't seem to get the app to launch without a connecting word. Things like ask, open, tell would count as a connecting word.
I have searched the documentation but can't find mention of it, however there are apps in the app store that do this.
It is documented in the first item here.
I've verified that this works with my own skill. One thing I've noticed is that Alexa's speech recognition is much worse when invoked in this manner presumably because it requires matching against a greater set of possible words. I have to really enunciate in a quiet room to get Alexa to recognize my invocation name in this context.
When developing a custom skill you have to use the connecting words e.g. Alexa, ask your invocation name to do something.
If you want to pass a variable, you have to specify the sample utterances:
OneshotTideIntent get high tide
OneshotTideIntent get high tide for {City} {State}
Then you handle cases in your code when user does not provide these values. For examples see https://github.com/amzn/alexa-skills-kit-js
When writing the example phrases you use the following construct:
"Alexa, [connecting word] [your invocation name], [sample utterance]". As far as I have noticed she is rather picky and you have to be exact when invoking custom skill (the voice recognition works way better with built in skills)
EDIT: launching skill without connecting word is possible when developing "smart home" skill

Resources