IMessage interface

在用户和机器人之间发送的聊天消息。 从机器人到用户的消息有两种风格:

  • 反应式消息 是从机器人发送到用户的消息作为用户传入消息的回复。
  • 主动消息 是从机器人发送到用户的消息,以响应某些外部事件(例如警报触发)。

在反应情况下,应将传入邮件中的 地址 字段复制到传出邮件(如果使用 Message builder 类,并在 会话 自动初始化该地址),然后设置 文本附件。 对于主动消息,需要将传入消息中的 地址 保存到某个位置的外部存储。 然后,可以将此项传递给 UniversalBot.beginDialog(),或将其复制到传递给 UniversalBot.send()的传出消息。

默认情况下,使用传入地址对象向用户撰写消息时,会在当前对话的上下文中向用户发送答复。 某些通道允许开始与用户进行新对话。 若要开始与用户进行新的主动对话,只需在撰写传出消息之前,先从地址对象中删除 会话 字段。

扩展

属性

address

事件地址路由信息。 将此字段保存到外部存储,以便稍后向用户撰写主动消息。

agent

正在处理事件的 SDK。 将始终为“botbuilder”。

attachmentLayout

提示客户端应如何布局多个附件。 默认值为“list”。

attachments

对于传入邮件,包含附件,如从用户发送的图像。 对于传出消息,包含要发送给用户的卡片或图像等对象。

code

指示会话结束原因的代码。

deliveryMode

用于向收件人发出活动备用传递路径的信号的传递提示。 默认传递模式为“default”。

entities

传递给机器人或用户的结构化对象。

expriation

活动被视为“已过期”的时间,不应提供给收件人。

importance

活动的重要性。

inputHint

客户端提示告知机器人是否需要进一步输入。 内置提示会自动为传出消息填充此值。

label

活动的描述性标签。

listenFor

语音和语言启动系统应侦听的短语和引用列表。

localTimestamp

发送消息的本地时间(由客户端或机器人设置,例如:2016-09-23T13:07:49.4714686-07:00)。

localTimezone

包含以 IANA 时区数据库格式表示的消息以本地时间表示的时区的名称。 例如,美国/Los_Angeles。

name

要调用的操作的名称或事件的名称。

relatesTo

对另一个对话或消息的引用。

replyToId

此更新的事件 ID 与该事件相关。

semanticAction

此请求随附的可选编程操作。

source

活动的原始来源(即“facebook”、“skype”、“slack”等)

sourceEvent

源本机架构中的原始事件。 对于传出消息,可用于传递源特定事件数据,例如自定义附件。

speak

语音合成标记语言朗读消息。

summary

要通过回退和邮件内容的简短说明显示的文本,例如最近对话的列表。

text

消息文本。

textFormat

文本字段的格式。 默认值为“markdown”。

textHighlights

活动包含 ReplyToId 值时要突出显示的文本片段集合。

textLocale

消息文本的标识语言(如果已知)。

timestamp

发送消息时的 UTC 时间(按服务设置)。

type

定义事件的类型。 应为 IMessage 的“message”。

user

对于传入消息,这是发送消息的用户。 默认情况下,这是 address.user 的副本,但你可以使用 lookupUser 函数配置机器人,以便将传入用户映射到内部用户 ID。

value

开放式值。

valueType

活动值对象的类型。

属性详细信息

address

事件地址路由信息。 将此字段保存到外部存储,以便稍后向用户撰写主动消息。

address: IAddress

属性值

agent

正在处理事件的 SDK。 将始终为“botbuilder”。

agent: string

属性值

string

attachmentLayout

提示客户端应如何布局多个附件。 默认值为“list”。

attachmentLayout?: string

属性值

string

attachments

对于传入邮件,包含附件,如从用户发送的图像。 对于传出消息,包含要发送给用户的卡片或图像等对象。

attachments?: IAttachment[]

属性值

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

对另一个对话或消息的引用。

relatesTo?: IAddress

属性值

replyToId

此更新的事件 ID 与该事件相关。

replyToId?: string

属性值

string

semanticAction

此请求随附的可选编程操作。

semanticAction?: ISemanticAction

属性值

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

活动包含 ReplyToId 值时要突出显示的文本片段集合。

textHighlights?: ITextHighlight[]

属性值

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