编程语言
首页 > 编程语言> > C#-使用Alexa.net-我可以从代码中调用意图吗?

C#-使用Alexa.net-我可以从代码中调用意图吗?

作者:互联网

我正在尝试使用alexa.net构建测验游戏.但是,我遇到了潜在的问题.

每当用户回答了一个问题并且评估了答案后,我都想立即提出另一个问题.

目前,用户必须手动请求另一个问题.我想发生的事情是,处理问题的意图会不断地自我调用,直到用户积极选择结束游戏为止.

那有可能吗?如果是这样,有人可以指出正确的方向,甚至可以写一个简短的hello-world风格的例子吗?

解决方法:

假设您想创建一个数学问答游戏,其中Alexa会问您随机的数学问题,并且您必须提供正确的答案.游戏必须继续进行,直到用户明确要求退出为止.

创建一个当用户说出答案时触发的AnswerIntent.我们的答案是数字,因此请使用AMAZON.NUMBER插槽创建此意图,以便您捕获所说的数字. (根据问题的答案选择您的位置).

AnswerIntent的样本话语:

{number}
the answer is {number}
is it {number}

{number} -> AMAZON.NUMBER slot

因此,每次用户说出您的问题的答案时,您都会在后端收到一个POST请求,其中触发了意图(在本例中为AnswerIntent),插槽及其值.然后:

>验证答案.
>更新分数(如果您的所有用例都有分数)
>生成下一个问题.
>提供下一个问题的答案.

只有在与用户互动时,您才会在后端收到一个请求.因此,请确保当用户说出答案时,您的回答中有下一个要问的问题.这样,用户可以继续回答问题而无需明确地提出问题.

互动示例:

User : Alexa, open math quiz
Alexa: Welcome to math quiz. Here is your first question. 
       What is the sum of five and four.
       [you will receive the launch request and your response has the first question]
User : Nine
       [you will receive AnswerIntent request, with number slot having value 9. 
        Validate the answer and generate the next question]
Alexa: Correct!. Here is your next question.
       What is the product of ten and five.
User : Twenty.
Alexa: Wrong, the right answer is fifty. 
       here is your next question.
       What is sum of two and six.
User : Stop
       [AMAZON.StopIntent is triggered and you can now end the game.]
Alexa: Bye.

使用sessionAttributes可以存储有关问题或其答案的一些信息,以便在收到用户响应时可以在后端轻松验证它.

标签:alexa,alexa-skills-kit,alexa-skill,alexa-voice-service,c
来源: https://codeday.me/bug/20191024/1924015.html