Я пытаюсь создать навык, который прослушивает ответ пользователя. По какой-то причине я не всегда могу поймать ответ пользователя.Как поймать ответ пользователя/ответ в приложении Alexa Skill?
- В чат сессия начинается, когда я говорю:
Alexa, open MyApp and start chat
- И Alexa отвечает
New chat session started
- Затем я проверить на сессии и посмотреть, если его старая одна, и сделать что-то с ним, но это Безразлично» t действительно работает.
Что-то в моих настройках неверно. Я считаю, что код в порядке, так что, возможно, 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
Что вы ожидаете от пользователя после запуска навыка? И вы ищете решение для просмотра запросов и ответов, идущих туда и обратно? –
@JohnKelvie почти все. Я отправлю ответ пользователю на некоторые серверные службы и вернет ответ, а затем дождитесь ввода другого пользователя и, таким образом, один, как разговор. Моя проблема в том, что я не получаю первоначальный ответ пользователя. – Patrioticcow