【发布时间】:2020-11-08 12:17:06
【问题描述】:
我创建了一个 lex 聊天机器人并将其集成到网站中。它工作正常。我知道我必须从 lambda 调用响应卡。我也这样做了。此外,我在 lex 控制台中启用了响应卡复选框。之后这一切,我也看不到网站上的按钮。除了响应卡,还有其他方法可以显示按钮吗?
下面是代码:这里,完成后,我已经给出了响应卡,这意味着在消息“嘿,您的票已被提出”之后,将显示按钮。这显示在 lex 测试聊天机器人中。
import json
import logging
import re
import http.client
import mimetypes
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
def close():
val= {
"dialogAction":
{
"fulfillmentState":"Fulfilled",
"type":"Close",
"message":
{
"contentType":"PlainText",
"content":"Hey your ticket has been raised"
},
'responseCard': {
'version': '0',
'contentType': 'application/vnd.amazonaws.card.generic',
'genericAttachments': [
{
'title': 'title1',
'subTitle': 'subtitle',
"buttons":[
{
"text":"button 1",
"value":"value 1"
},
{
"text":"button 2",
"value":"value 2"
},
{
"text":"button 3",
"value":"value 3"
}
]
}
]
}
}
}
print(val)
return val
def lambda_handler(event, context):
slots = event['currentIntent']['slots']
empidemployee= event['currentIntent']["slots"]["empidemployee"]
latestdesc= event['currentIntent']["slots"]["latestdesc"]
latestservice= event['currentIntent']["slots"]["latestservice"]
latestimpactvalue= event['currentIntent']["slots"]["latestimpactvalue"]
latesturgency= event['currentIntent']["slots"]["latesturgency"]
basicinfo=event['currentIntent']["slots"]["basicinfo"]
val=close()
return val
【问题讨论】:
-
否。因为我已经尝试按照该帖子中的解决方案通过 lambda 函数调用。
-
@Paradigm 否。因为我已经尝试按照该帖子中的解决方案通过 lambda 函数调用。我实际上遵循了这篇帖子:stackoverflow.com/questions/47884467/… 并尝试显示响应卡。
标签: aws-lambda amazon-lex