Все работало нормально, пока я не начал получать эту ошибку, когда я использую «диалог диалога»:
Ошибка: это высказывание не разрешилось с любым намерением в вашем мастерстве. Пожалуйста, примените свое умение и попробуйте снова с другим высказыванием или обновите вашу модель взаимодействия, чтобы включить это высказывание перед повторным тестированием.
После нескольких попыток я попытался развернуть свои изменения и посмотреть, смогу ли я проверьте правильно в консоли.
Это не сработало, хотя кажется, что развертывание прошло успешно. Я попытался изменить свой профиль в «ask init», я попытался удалить и переустановить ask-CLI, но это также не сработало.
Я попытался клонировать навык, созданный в консоли, и это сработало, но когда я попытался внести изменения и развернуть, ошибка вернулась.
Я попытался использовать «ask simulate» с --force-new-session
, но все равно не сработало.
Я запустил «спросить диалог» и «попросить симулировать» с помощью --debug
,
Это вывод -
{
"id": "fb2869d0-a324-42f6-bca9-4adc0af3476f",
"status": "FAILED",
"result": {
"alexaExecutionInfo": {
"consideredIntents": [
{
"name": "<IntentForDifferentSkill>"
}
]
},
"error": {
"message": "This utterance did not resolve to any intent in your skill. Please invoke your skill and try again with a different utterance or update your interaction model to include this utterance before testing again."
}
И когда я вставил его в лямбда-тест, вывод был-
{
"errorType": "TypeError",
"errorMessage": "handlerInput.t is not a function",
"trace": [
"TypeError: handlerInput.t is not a function",
" at Object.handle (/var/task/index.js:133:42)",
" at GenericRequestDispatcher.<anonymous> (/var/task/node_modules/ask-sdk-runtime/dist/dispatcher/GenericRequestDispatcher.js:210:59)",
" at step (/var/task/node_modules/ask-sdk-runtime/dist/dispatcher/GenericRequestDispatcher.js:44:23)",
" at Object.next (/var/task/node_modules/ask-sdk-runtime/dist/dispatcher/GenericRequestDispatcher.js:25:53)",
" at fulfilled (/var/task/node_modules/ask-sdk-runtime/dist/dispatcher/GenericRequestDispatcher.js:16:58)"
]
}
Строки в коде -
const ErrorHandler = {
canHandle() {
return true;
},
handle(handlerInput, error) {
const speakOutput =handlerInput.t('ERROR_MSG');//line 133:error
console.log(`~~~~ Error handled: ${JSON.stringify(error)}`);
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt(speakOutput)
.getResponse();
}
};
Я не знаю, почему handlerInput.t
внезапно не работает, однако проблема в errorIntentHandler
, поэтому, помимо этой ошибки, у нас есть оригинальная ошибка.
Я попытался выполнить отладку, используя собственную конечную точку Node.js (что неудивительно, что не работало), и, похоже, возникла проблема с соединением конечной точки.
Когда оно работал раньше, я обычно получал запрос JSON в мою строку комманд, но теперь до этого не удается установить соединение.
Примечание: Я пытался открыть много новых проектов, поэтому я мог проверить это.
Это не сработало даже после создания нового проекта с ask init
и сразу ask deploy
.