问题
I am trying to create a chatbot. Chatbot will prompt the question "What is your nationality? (A, B, C)" and if the user says C, I want to straight away end the chat by saying something like "I am sorry, C is not applicable to apply. Only A and B can apply." I know I have to uncheck the "required" checkbox after the said question but I'm not sure what to input in aws lambda for it to happen.
回答1:
After unchecking the required checkbox, in the lambda code do below:
# inside dialogcodehook
slots = intent_request['currentIntent']['slots']
nation = slots['nation']
if nation == 'C':
return close('I am sorry, C is not applicable to apply. Only A and B can apply.')
# rest of your code
def close(msg):
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": msg
}
}
You may want to see this question, this question, this question, this documentation etc..
Play with it and see documentation for other things and comment for further doubts.
Hope it helps.
来源:https://stackoverflow.com/questions/47938140/trouble-with-amazon-lex-chatbot-slots