【问题标题】:How send an external input (no voice) to alexa skill and get a response?如何将外部输入(无语音)发送到 alexa 技能并获得响应?
【发布时间】:2019-11-04 05:00:49
【问题描述】:

我正在尝试找到一种方法,让 alexa 技能在收到外部非语音事件时说话(响应)。应用程序接收到在队列内的 amazon-sqs 上发生的事件。连接lambda应用并触发通过函数发生的事件:

def lambda_handler(事件,上下文)

此时我希望技能 alexa 告诉我事件已经发生来回答我。为此,我应该创建一个 Json 输入以发送到技能,我可以在启动技能时记录事件 ['session'] 的数据,但是如何将事件 ['request'] 的数据传递给启动意图?

例如,这是当我午餐 alexa 模拟器请求时的 json 输入:

{
    "version": "1.0",
    "session": {
        ...
    },
    "context": {
        "...
    },
    "request": {
        ...
    }
}

我可以通过将数据保存在 dynamodb 表中来重新创建会话字典,但是对于上下文和请求?

也许我的方法完全错了。 我该怎么办?

【问题讨论】:

    标签: python aws-lambda amazon-sqs alexa alexa-skills-kit


    【解决方案1】:

    看看:https://developer.amazon.com/docs/smapi/proactive-events-api.html。这是进行主动演讲的受支持方式,可能对您来说就足够了

    【讨论】:

    • 我认为如果没有额外的用户参与,这是行不通的,对吗?例如。它不会直接触发技能,而是创建一个 Alexa 可以读取给用户的通知。 Alexa 会发出哔哔声,但只会在请求时读取该内容。
    【解决方案2】:

    这听起来很有趣,我想知道您将如何保持技能打开,或者您试图在事件发生后立即打开技能?

    我了解,一旦事件发生,您需要启动技能,然后在 LaunchRequest 中进行发言(响应)。这里的棘手部分是启动/启动/打开技能。

    您也可以尝试使用请求和响应拦截器来捕获整个请求并做出响应。

    如果可以的话,我会挖掘一下。

    谢谢:D

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-21
      • 1970-01-01
      • 2021-04-18
      • 2019-01-23
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 2022-10-24
      相关资源
      最近更新 更多