Trouble with Amazon Lex chatbot slots

2019-08-16 16:52发布

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.

enter image description here

1条回答
混吃等死
2楼-- · 2019-08-16 17:45

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.

查看更多
登录 后发表回答