Alexa.NET检查自定义槽值是否有效,如果没有,则提示用户输入正确的槽值

时间:2018-06-13 00:29:35

标签: c# amazon-web-services alexa-skills-kit

我正在使用C#/ Lambda / Alexa.NET

编写Alexa技能

我有一个用户可以响应的系统的自定义插槽列表。有3个有效的插槽值。 Lambda代码目前使用委托指令将对话的控制权传递给Alexa以处理获取系统插槽以及其他几个插槽。目前正在为此提供服务:

 // check the name to determine what you should do
                    if (intentRequest.Intent.Name.Equals("problemIntent"))
                    {
                        context.Logger.LogLine($"The specific intent I have created has been received");
                    }

                    context.Logger.LogLine($"Dialog state = {intentRequest.DialogState}");

                    if (intentRequest.DialogState != "COMPLETED")
                    {
                        response = ResponseBuilder.DialogDelegate(input.Session);
                    }

但是,用户可以使用不是列表有效部分的系统进行响应,Alexa将接受此信息,确认并继续。

如何验证传入的插槽值以确定它是否正确(不是有效的插槽值)并提示用户输入正确的值?我在Lambda函数中有一个字符串列表要进行验证,但是如何获取代码中提供的插槽的值?例如。伪代码将是:

如果对话状态未完成 检查列表提供的槽值。 如果有效,请委托给ALexa继续。 如果无效,请快速回复说“我不知道是什么。你能尝试其他价值吗?例如x,yz'

0 个答案:

没有答案