【发布时间】:2017-12-29 15:22:41
【问题描述】:
我正在尝试编写我的第一个 Alexa 技能,但应用程序流程有点混乱,甚至阅读了有关对话委托等的所有文档。我真的很想得到一些建议。
我追求的流程
“Alexa,开始电影时间测验。”
欢迎来到电影时间测验。在我们开始之前,你在哪个团队:红队还是蓝队?
“蓝色。”
Blue 一直是最好的球队。问题 1:这些电影中有哪些不是阿尔弗雷德·希区柯克导演的? A:眩晕,B:绳索,C:Happy Gilmore。
“C”。
正确!蓝队10分。问题 2...
这是一个简化的示例,以最简短、最清晰的方式说明我的问题,在您想知道为什么需要团队参与之前。
我的直觉/天真的方法
让初始启动请求处理程序说“欢迎和什么团队”,然后有两个意图。第一个显然是 AnswerQuestionIntent,它监听“A”、“B”、“C”或“D”。第二个是 SetTeamIntent,它监听“红色”或“蓝色”。
我会有一个包含约 100 个琐事问题的数组。游戏开始时,将会话属性'currentQuestion'设置为0。在AnswerQuestionIntent中,处理用户的正确/错误响应后,增加该数字,如果为9,则结束游戏;如果没有,请随机提问。
我的问题
我实际上无法弄清楚如何让 Alexa 使用单个插槽作为话语。我的意思是,我想要一个“团队”插槽类型(值“红色”和“蓝色”)和一个“答案”插槽类型(值“A”、“B”、“C”和“D” )。 SetTeamIntent 应该由{team} 和 AnswerQuestionIntent 由{answer} 激活,但是当我尝试设置它时,developer.amazon.com 技能生成器给了我“错误请求”错误。
我尝试查看 GitHub 上的 SDK 示例,但我有点迷茫,因为我在学习时一直在使用 GUI 技能构建器,但不确定它是如何映射的——还不足以阅读解决方案,反正。
【问题讨论】: