IMessage interface
在用户和机器人之间发送的聊天消息。 从机器人到用户的消息有两种风格:
- 反应式消息 是从机器人发送到用户的消息作为用户传入消息的回复。
- 主动消息 是从机器人发送到用户的消息,以响应某些外部事件(例如警报触发)。
在反应情况下,应将传入邮件中的 地址 字段复制到传出邮件(如果使用 Message builder 类,并在 会话 自动初始化该地址),然后设置 文本 或 附件。 对于主动消息,需要将传入消息中的 地址 保存到某个位置的外部存储。 然后,可以将此项传递给 UniversalBot.beginDialog(),或将其复制到传递给 UniversalBot.send()的传出消息。
默认情况下,使用传入地址对象向用户撰写消息时,会在当前对话的上下文中向用户发送答复。 某些通道允许开始与用户进行新对话。 若要开始与用户进行新的主动对话,只需在撰写传出消息之前,先从地址对象中删除 会话 字段。
- 扩展
属性
address | 事件地址路由信息。 将此字段保存到外部存储,以便稍后向用户撰写主动消息。 |
agent | 正在处理事件的 SDK。 将始终为“botbuilder”。 |
attachment |
提示客户端应如何布局多个附件。 默认值为“list”。 |
attachments | 对于传入邮件,包含附件,如从用户发送的图像。 对于传出消息,包含要发送给用户的卡片或图像等对象。 |
code | 指示会话结束原因的代码。 |
delivery |
用于向收件人发出活动备用传递路径的信号的传递提示。 默认传递模式为“default”。 |
entities | 传递给机器人或用户的结构化对象。 |
expriation | 活动被视为“已过期”的时间,不应提供给收件人。 |
importance | 活动的重要性。 |
input |
客户端提示告知机器人是否需要进一步输入。 内置提示会自动为传出消息填充此值。 |
label | 活动的描述性标签。 |
listen |
语音和语言启动系统应侦听的短语和引用列表。 |
local |
发送消息的本地时间(由客户端或机器人设置,例如:2016-09-23T13:07:49.4714686-07:00)。 |
local |
包含以 IANA 时区数据库格式表示的消息以本地时间表示的时区的名称。 例如,美国/Los_Angeles。 |
name | 要调用的操作的名称或事件的名称。 |
relates |
对另一个对话或消息的引用。 |
reply |
此更新的事件 ID 与该事件相关。 |
semantic |
此请求随附的可选编程操作。 |
source | 活动的原始来源(即“facebook”、“skype”、“slack”等) |
source |
源本机架构中的原始事件。 对于传出消息,可用于传递源特定事件数据,例如自定义附件。 |
speak | 语音合成标记语言 |
summary | 要通过回退和邮件内容的简短说明显示的文本,例如最近对话的列表。 |
text | 消息文本。 |
text |
文本字段的格式。 默认值为“markdown”。 |
text |
活动包含 ReplyToId 值时要突出显示的文本片段集合。 |
text |
消息文本的标识语言(如果已知)。 |
timestamp | 发送消息时的 UTC 时间(按服务设置)。 |
type | 定义事件的类型。 应为 IMessage 的“message”。 |
user | 对于传入消息,这是发送消息的用户。 默认情况下,这是 address.user 的副本,但你可以使用 lookupUser 函数配置机器人,以便将传入用户映射到内部用户 ID。 |
value | 开放式值。 |
value |
活动值对象的类型。 |
属性详细信息
address
agent
正在处理事件的 SDK。 将始终为“botbuilder”。
agent: string
属性值
string
attachmentLayout
提示客户端应如何布局多个附件。 默认值为“list”。
attachmentLayout?: string
属性值
string
attachments
code
指示会话结束原因的代码。
code?: string
属性值
string
deliveryMode
用于向收件人发出活动备用传递路径的信号的传递提示。 默认传递模式为“default”。
deliveryMode?: string
属性值
string
entities
传递给机器人或用户的结构化对象。
entities?: any[]
属性值
any[]
expriation
活动被视为“已过期”的时间,不应提供给收件人。
expriation?: string
属性值
string
importance
活动的重要性。
importance?: string
属性值
string
inputHint
客户端提示告知机器人是否需要进一步输入。 内置提示会自动为传出消息填充此值。
inputHint?: string
属性值
string
label
活动的描述性标签。
label?: string
属性值
string
listenFor
语音和语言启动系统应侦听的短语和引用列表。
listenFor?: string[]
属性值
string[]
localTimestamp
发送消息的本地时间(由客户端或机器人设置,例如:2016-09-23T13:07:49.4714686-07:00)。
localTimestamp?: string
属性值
string
localTimezone
包含以 IANA 时区数据库格式表示的消息以本地时间表示的时区的名称。 例如,美国/Los_Angeles。
localTimezone?: string
属性值
string
name
要调用的操作的名称或事件的名称。
name?: string
属性值
string
relatesTo
replyToId
此更新的事件 ID 与该事件相关。
replyToId?: string
属性值
string
semanticAction
source
活动的原始来源(即“facebook”、“skype”、“slack”等)
source: string
属性值
string
sourceEvent
源本机架构中的原始事件。 对于传出消息,可用于传递源特定事件数据,例如自定义附件。
sourceEvent: any
属性值
any
speak
语音合成标记语言
speak?: string
属性值
string
summary
要通过回退和邮件内容的简短说明显示的文本,例如最近对话的列表。
summary?: string
属性值
string
text
消息文本。
text?: string
属性值
string
textFormat
文本字段的格式。 默认值为“markdown”。
textFormat?: string
属性值
string
textHighlights
textLocale
消息文本的标识语言(如果已知)。
textLocale?: string
属性值
string
timestamp
发送消息时的 UTC 时间(按服务设置)。
timestamp?: string
属性值
string
type
定义事件的类型。 应为 IMessage 的“message”。
type: string
属性值
string
user
对于传入消息,这是发送消息的用户。 默认情况下,这是 address.user 的副本,但你可以使用 lookupUser 函数配置机器人,以便将传入用户映射到内部用户 ID。
user: IIdentity
属性值
value
开放式值。
value?: any
属性值
any
valueType
活动值对象的类型。
valueType?: string
属性值
string