【问题标题】:call method automatically after alexa finished speakingalexa说完后自动调用方法
【发布时间】:2019-07-26 18:30:30
【问题描述】:

我有一个问题,它是否可以再次调用在 handlerIntent 中执行的方法?你什么时候回来说完?我需要重新运行: const response = await logic.consultaService (1,1,1100);

通话结束后

无需用户再次说出命令

我需要一个自动操作,直到用户说停止

返回 handlerInput.responseBuilder .speak(语音文本) .reprompt ('tss') .getResponse();

谢谢。

代码:

const CustomServiceIntent = {
    canHandle(handlerInput) {
        return handlerInput.requestEnvelope.request.type === 'IntentRequest'
            && handlerInput.requestEnvelope.request.intent.name === 'CustomServiceIntent';
    },

   async handle(handlerInput) {
        try {
            await logic.callDirectiveService(handlerInput,"espera");
          } catch (error) {
            console.log("Progressive error : " + error);
        }

        const response = await logic.consultaServicio(1,1,1100);
        let speechText="";


        if(response) {
            const results = response;

          results.forEach(function (elemento, indice, array) {
            speechText += "  El  " + " " + "  siguiente  " +" "+ " niño  " + " "+ " en   "+" " + " salir   es  " + " " +" . " + elemento.nombre + " . " ;
          });
        }

        return handlerInput.responseBuilder
            .speak(speechText)
            .reprompt('tss')
            .getResponse();
    }
};

【问题讨论】:

    标签: alexa-skills-kit alexa-app


    【解决方案1】:

    我可以建议您使用对话管理来解决这个问题吗?如果想法是用户说“停止”或您可以通过对话管理处理状态来执行此操作。考虑一下,我认为这可能会奏效。在我看来,您想要实现的目标可以使用该对话框管理功能来实现。

    希望对你有所帮助,否则让我们考虑一下。

    【讨论】:

    • 非常感谢您回答我的问题,我的问题是我需要 alexa 通过语音命令“查询” alexa 重新输入来自 webService 的信息,该信息作为我已经拥有的 Json 返回,而且我需要在我讲完之后,通过自动咨询webService来无限期地自动检查webService,而不需要人来订购,这可能吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2019-09-26
    相关资源
    最近更新 更多