【问题标题】:Alexa not responding for when i created skill from skill buidler当我从技能生成器创建技能时,Alexa 没有响应
【发布时间】:2018-04-21 23:48:21
【问题描述】:

我使用技能构建器测试版创建了名为 EmergencyIntent 的自定义技能意图。

现在的问题是它没有像我在技能构建器中配置的那样询问意图确认

也试过这样

为什么不要求确认意图?

【问题讨论】:

  • 我已经使用 'EmergencyIntent' 解决了这个问题:function() { //this.response.speak(':confirm'); this.emit(':delegate') },

标签: alexa alexa-skills-kit alexa-skill alexa-voice-service


【解决方案1】:

从您的评论看来,您的问题已解决。但是,我想我要补充一点,您还可以在发出最终响应之前检查对话框状态。有点像...

let dialogState = this.event.request.dialogState;
try {
  if (dialogState == "STARTED" || dialogState == "IN_PROGRESS") {
    this.emit(":delegate");
  }
} catch(err) {
  console.log("Error: " + err.message);
}

【讨论】:

  • 谢谢。但在我的情况下,上面的代码导致了一些问题。
  • 用户:Alexa 播放歌曲/音乐家 Alexa:你想播放任何特定的歌曲吗? 如果用户说:是 Alexa:你在寻找任何特定的歌曲吗? 用户:是的 Alexa:你在找艺术家吗? 用户:艺术家姓名 Alexa:您正在寻找的电影? 用户:电影名称 Alexa:您在寻找专辑吗? 用户:专辑名称 // 在所有问题之后 Alexa:可以播放艺术家/专辑/电影名称的歌曲,如果用户说:否 Alexa:可以播放歌曲 //Alexa应该停止提问,它会播放一些歌曲
  • 当我说不时,它应该停止问其他问题
  • 我应该从哪里获得槽值? ' 让 dialogState = this.event.request.dialogState;尝试 { if (dialogState == "STARTED" || dialogState == "IN_PROGRESS") { this.emit(":delegate"); } } catch(err) { console.log("错误:" + err.message); }'
  • 我不确定我是否完全遵循对话逻辑,但要处理是/否问题,您有两个选择 - 使用对话界面(请参阅:developer.amazon.com/docs/custom-skills/…)和/或亚马逊.YesIntent 和 AMAZON.NoIntent 在这种情况下,您可能希望使用状态处理程序,以便您可以对不同问题使用是/否的响应。 (见:github.com/alexa/…)。
猜你喜欢
  • 2019-01-20
  • 1970-01-01
  • 2019-01-23
  • 2020-07-23
  • 1970-01-01
  • 2015-09-16
  • 1970-01-01
  • 1970-01-01
  • 2018-06-09
相关资源
最近更新 更多