0

我正在尝试创建一个监听用户回复的技能。出于某种原因,我不能总是抓住用户的回复。

  • 当我说:Alexa, open MyApp and start chat
  • 和 Alexa 回复New chat session started
  • 然后我检查会话,看看它是否是旧的,并用它做一些事情,但它并没有真正起作用。

我的设置有问题。我相信代码没问题,所以可能intents是设置错误

代码很简单。

exports.handler = (event, context) =>
    {
        // if the session is old,
        if (event.session.new === false) {
            // get the user reply
            // this doesn't seem to allways work
            var userReply = event.request.intent.slots.Reply.value;
        }

        try {
            switch (event.request.type) {
                case "LaunchRequest":
                    // do nothing here
                    break;
                case "IntentRequest":
                    switch (event.request.intent.name) {
                        case "ChatSession":

                            // the chat session starts, when I say: Alexa, open MyApp and start chat.
                            // this works, and the session seems to remain open, because Alexa waits for me to say something else
                            alexaReplyes({noCard: true, noNewSession: true, reply: 'New chat session started'});

                            break;
                        default:
                            throw "Invalid intent"
                    }

                    break;
                case "SessionEndedRequest":
                    // do nothing here
                    break;
                default:
                    context.fail(`INVALID REQUEST TYPE`)
            }
        } catch (error) {
            context.fail(`Exception: ${error}`)
        }
    }
{
    "intents": [
        {
            "intent": "ChatSession",
            "slots": [
                {
                    "name": "Reply",
                    "type": "REPLIES"
                }
            ]
        }
    ]
}



ChatSession start chat

4

2 回答 2

0

是的,意图设置不正确。几个项目:

1)您需要在话语中包含插槽,例如:
ChatSession start chat {Reply}

2) 为您期望用户说话的方式添加更多话语是有意义的,例如:
ChatSession Yes {Reply}

希望有帮助!

于 2017-01-31T18:47:33.207 回答
0

我想通了。

  1. 添加话语ChatSession {Reply}
  2. 将一堆单词和短语添加到自定义插槽中,使用一些在线生成器。
于 2017-02-02T02:31:25.050 回答