node.js - AWS Lex 在第一次触发意图时发送消息气泡
问题描述
我目前有一个有两个意图的 Lex 机器人。我希望机器人在发送第一个槽提示之前发送一条消息。我认为这可以通过在第一次触发意图时发送消息或发送多个提示(如果可能的话)来完成。
例如,用户会说:
我想转专业
机器人会回复 2 条消息:
- 警告:改变这可能会影响你,建议
- 您想安排咨询时间吗?
我基本上只是想把它分成两个不同的消息气泡。我看到这个帖子发送多个响应消息,但我如何发送多个提示消息?
解决方案
如果您使用 lambda 代码挂钩进行初始化和验证,您可以将多条消息作为列表发送,该列表将显示为单独的消息。您想将类型设置为 ElicitSlot。来自 lambda 的 Lex V2 中的响应语法如下所示:
def lambda_handler(event, context):
return {'sessionState': {
'dialogAction': {
'type': 'ElicitSlot',
'slotToElicit': 'NAME_OF_YOUR_SLOT'},
},
'intent': event['sessionState']['intent'],
'messages': [{'contentType': 'PlainText',
'content': 'PUT FIRST MESSAGE HERE'},
{'contentType': 'PlainText',
'content': 'PUT SECOND MESSAGE HERE'}],
}
Lex V1 中会略有不同
推荐阅读
- c++ - c ++用圆括号或花括号初始化对象有什么区别
- web - onesignal Android 禁用双重选择加入
- excel - Worksheet_Change 事件和共享工作簿
- excel - 需要 VBA 代码才能单击将内容从一个单元格移动到另一个单元格的按钮
- java - PDF 文档的数字签名
- javascript - 以两种日期格式(YYYY/MM/DD hh:mm)获取天数差异?
- c# - ASP .NET Rest API 重复调用另一个 API
- java - 未知对象的调用方法
- oracle - ORACLE 中的列索引
- sql-server - SQL Server 将表导出到 .dat 文件