Чат-бот Lex работает со слотами да / нет в тест-боте, но не в приложении expo.Бесконечные циклы с Подтверждением - PullRequest
0 голосов
/ 08 октября 2018

Я следовал всем инструкциям по созданию чат-бота в Amazon Lex, и все отлично работает в тестовом боте.Мой чат-бот должен подтвердить около 3-х слотов для каждого намерения, поэтому я попытался использовать verifyIntent, а затем проверил «translationStatus», чтобы проверить, было ли оно отклонено или подтверждено.Подсказка работала, но она продолжала работать, независимо от того, какой ввод я вводил :(. Когда я проверял cloudwatch, он корректно выдавал сообщение при подтверждении или отклонении Подтверждения Статуса, но не выполнялось в самом боте.

Поэтому я попытался создать слоты да / нет и проверил их в своих лямбда-функциях. Это прекрасно работает в тестовом ботанике amazon lex. Однако, когда я опубликовал и развернул его в приложении для Android и протестировал его с помощью expo, проверка да / нетСлоты не работали. Вместо этого он просто проходил через каждый слот для потока разговоров, даже если я ввел «нет».

Вот часть моего кода:

if (paymentError) {
        callback(confirmIntent(outputSessionAttributes, intentRequest.currentIntent.name,
            slots, buildMessage("Hi! There was a payment error within your transaction?")));
    }

Тогда это проверкаthe translationStatus:

 if ('confirmationStatus' in intentRequest.currentIntent && intentRequest.currentIntent.confirmationStatus === 'Denied') {
        callback(elicitIntent(outputSessionAttributes, buildMessage("Sorry! I must've gotten it mixed up. Can you please re-enter your dispute?")), "success")
    }

Как запретить зацикливание моего чат-бота на verifyIntent или заставить его работать при развертывании с приложением, использующим слоты да / нет?

...