当用户发送消息时,AppInstanceBot 会以频道消息进行响应。您可以列出频道消息以获取机器人的回复。
以下示例介绍了如何使用 CLI 列出频道消息。
aws chime-sdk-messaging list-channel-messages \ --chime-bearer
caller_app_instance_user_arn
\ --channel-arnchannel_arn
来自 AppInstanceBot 的成功响应采用以下格式。
{
"MessageId": "messageId
",
"Content": "*{\"Messages
\":[{\"...\"}]}*",
"ContentType": "application/amz-chime-lex-msgs
",
"MessageAttributes": {
"CHIME.LEX.sessionState.intent.name": {
"StringValues": [
"lex_bot_intent_name
"
]
},
"CHIME.LEX.sessionState.intent.state": {
"StringValues": [
"lex_bot_intent_fullfilment_status
"
]
},
"CHIME.LEX.sessionState.originatingRequestId": {
"StringValues": [
"lex_bot_originating_request_id
"
]
},
"CHIME.LEX.sessionState.sessionId": {
"StringValues": [
"lex_bot_session_id
"
]
}
},
"Sender": {
"Arn": "app_instance_bot_arn
",
"Name": "app_instance_bot_name
"
},
"Type": "STANDARD",
}
- Content
-
该
Content
字段包含源自 Amazon Lex V2 机器人的消息列表。有关这些消息的更多信息,请参阅 Amazon Lex V2RecognizeText
API 中的消息。以下示例说明如何在欢迎消息中使用
Content
字段。{ "Messages": [ { "Content": "
Hello!
", "ContentType": "PlainText
" }, { "ContentType": "ImageResponseCard", "ImageResponseCard": { "Title": "Hello! I'm BB, the Bank Bot.
", "Subtitle": "I can help you with the following transactions
", "Buttons": [ { "Text": "Check balance
", "Value": "Check balance
" }, { "Text": "Escalate to agent
", "Value": "Escalate to agent
" } ] } } ] }对于失败响应,“内容”字段包含以下格式的错误消息和代码:
{ "Code":
error_code
} - ContentType
-
ContentType
是指该Content
字段包含的负载类型,必须选中才能解析该Content
字段。注意
Lex V2 机器人使用的是不同的
ContentType
。ContentType
设置为application/amz-chime-lex-msgs
(对于成功响应)或者application/amz-chime-lex-error
(对于失败响应)。 - MessageAttribute
-
MessageAttribute 是字符串键到字符串值的映射。来自
AppInstanceBot
的响应包含以下消息属性,这些属性映射到来自 Amazon Lex 机器人的响应。-
CHIME.LEX.sessionState.intent.name:请求尝试实现的 Lex 机器人意图名称。
-
CHIME.LEX.sessionState.intent.state:意图的当前状态。可能的值包括:
Fulfilled
、InProgress
和Failed
。 -
CHIME.LEX.sessionState.originatingRequestId:向 Amazon Lex 机器人发出的特定请求的唯一标识符。该值设置为触发 AppInstanceBot 的原始用户消息的
MessageId
。 -
CHIME.LEX.sessionState.sessionId:用户与机器人之间对话的唯一标识符。用户启动与机器人的聊天时,Amazon Lex 将创建一个会话。
有关 Amazon Lex 会话和会话状态的更多信息,请参阅《Amazon Lex API 参考》中的 SessionState 和《Amazon Lex V2 开发人员指南》中的管理会话
有关 Amazon Lex V2 返回属性的更多信息,请参阅 Amazon Lex Runtime V2 API。
-