【问题标题】:Alexa skill state not changing with SessionEndedRequestAlexa 技能状态不随 SessionEndedRequest 改变
【发布时间】:2016-12-05 03:55:03
【问题描述】:

我在 Node.js 中使用 alexa-sdk。我有 4 种不同状态的 Alexa 技能持久保存到 DynamoDB。在每次交互结束时,我需要将状态更改为 READY 状态。在每个处理程序结束时,我有一个 SessionEndedRequest,我将状态设置如下:

this.state = States.READY;
this.emit(':saveState', true);

当技能以 READY 状态启动时,我使用以下方式从一个状态跳转到另一个状态:

this.handler.state = States.COMM;
this.emitWithState('NewSession');

我在每个处理程序中都有 NewSession。

我的问题是当用户停止使用该技能时状态没有被重置。我需要它回到 READY。

有人能告诉我我需要做什么来完成这个吗?谢谢。

【问题讨论】:

  • 我认为 SessionEndedRequest 只有在用户什么都没说时才会触发。在这种情况下,我需要在用户响应后设置状态。如果我错了,请纠正我。

标签: alexa alexa-skill


【解决方案1】:

你在这里的代码:

this.state = States.READY;
this.emit(':saveState', true);

不会设置 Alexa 应用程序的状态,因为状态键存在于处理程序对象上,您必须这样做

this.handler.state = States.READY;
this.emit(':saveState', true);

如果这能解决您的问题,请告诉我。谢谢。

【讨论】:

    猜你喜欢
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 2020-02-26
    • 2019-03-16
    • 2023-01-21
    • 2021-02-27
    相关资源
    最近更新 更多