MessageFactory class

一组实用工具函数,用于帮助设置机器人可以返回的各种消息类型的格式。

注解

以下示例演示如何发送包含单个主图卡的消息:

const { MessageFactory, CardFactory } = require('botbuilder');

const card = CardFactory.heroCard(
     'White T-Shirt',
     ['https://example.com/whiteShirt.jpg'],
     ['buy']
);
const message = MessageFactory.attachment(card);
await context.sendActivity(message);

方法

attachment(Attachment, string, string, InputHints | string)

返回包含附件的单个邮件活动。

carousel(Attachment[], string, string, InputHints | string)

返回一条消息,该消息将使用轮播布局显示一组附件。

contentUrl(string, string, string, string, string, InputHints | string)

返回将向用户显示单个图像或视频的消息。

list(Attachment[], string, string, InputHints | string)

返回将在列表窗体中显示一组附件的邮件。

suggestedActions(string | CardAction[], string, string, InputHints | string)

返回一条消息,其中包含一组建议的操作和可选文本。

text(string, string, InputHints | string)

返回一条简单的文本消息。

方法详细信息

attachment(Attachment, string, string, InputHints | string)

返回包含附件的单个邮件活动。

static function attachment(attachment: Attachment, text?: string, speak?: string, inputHint?: InputHints | string): Partial<Activity>

参数

attachment

Attachment

要包含在消息中的自适应卡片。

text

string

(消息的可选) 文本。

speak

string

(可选) SSML 包含在消息中。

inputHint

InputHints | string

(消息的可选) 输入提示。 默认为 acceptingInput

返回

Partial<Activity>

包含附件的邮件活动。

注解

此示例演示如何创建带有主图卡附件的邮件:

const message = MessageFactory.attachment(
    CardFactory.heroCard(
        'White T-Shirt',
        ['https://example.com/whiteShirt.jpg'],
        ['buy']
     )
);

返回一条消息,该消息将使用轮播布局显示一组附件。

static function carousel(attachments: Attachment[], text?: string, speak?: string, inputHint?: InputHints | string): Partial<Activity>

参数

attachments

Attachment[]

要包含在邮件中的附件数组。

text

string

(消息的可选) 文本。

speak

string

(可选) SSML 包含在消息中。

inputHint

InputHints | string

(消息的可选) 输入提示。

返回

Partial<Activity>

将使用轮播布局显示一组附件的邮件活动。

注解

此示例演示如何使用英雄卡片轮播创建消息:

const message = MessageFactory.carousel([
   CardFactory.heroCard('title1', ['imageUrl1'], ['button1']),
   CardFactory.heroCard('title2', ['imageUrl2'], ['button2']),
   CardFactory.heroCard('title3', ['imageUrl3'], ['button3'])
]);

contentUrl(string, string, string, string, string, InputHints | string)

返回将向用户显示单个图像或视频的消息。

static function contentUrl(url: string, contentType: string, name?: string, text?: string, speak?: string, inputHint?: InputHints | string): Partial<Activity>

参数

url

string

要发送的图像/视频的 URL。

contentType

string

图像/视频的 MIME 类型。

name

string

(可选) 图像/视频文件的名称。

text

string

(消息的可选) 文本。

speak

string

(可选) SSML 包含在消息中。

inputHint

InputHints | string

(消息的可选) 输入提示。

返回

Partial<Activity>

将向用户显示单个图像或视频的消息活动。

注解

此示例演示如何向用户发送图像:

const message = MessageFactory.contentUrl('https://example.com/hawaii.jpg', 'image/jpeg', 'Hawaii Trip', 'A photo from our family vacation.');

list(Attachment[], string, string, InputHints | string)

返回将在列表窗体中显示一组附件的邮件。

static function list(attachments: Attachment[], text?: string, speak?: string, inputHint?: InputHints | string): Partial<Activity>

参数

attachments

Attachment[]

要包含在邮件中的附件数组。

text

string

(消息的可选) 文本。

speak

string

(可选) SSML 包含在消息中。

inputHint

InputHints | string

(消息的可选) 输入提示。

返回

Partial<Activity>

将在列表窗体中显示一组附件的邮件活动。

注解

此示例演示如何创建包含主图卡列表的消息:

const message = MessageFactory.list([
   CardFactory.heroCard('title1', ['imageUrl1'], ['button1']),
   CardFactory.heroCard('title2', ['imageUrl2'], ['button2']),
   CardFactory.heroCard('title3', ['imageUrl3'], ['button3'])
]);

suggestedActions(string | CardAction[], string, string, InputHints | string)

返回一条消息,其中包含一组建议的操作和可选文本。

static function suggestedActions(actions: string | CardAction[], text?: string, speak?: string, inputHint?: InputHints | string): Partial<Activity>

参数

actions

string | CardAction[]

要包括的卡片操作或字符串的数组。 字符串将转换为 messageBack 操作。

text

string

(消息的可选) 文本。

speak

string

(可选) SSML 包含在消息中。

inputHint

InputHints | string

(消息的可选) 输入提示。 默认为 acceptingInput

返回

Partial<Activity>

包含建议操作的消息活动。

注解

此示例演示如何使用建议的操作创建消息:

const message = MessageFactory.suggestedActions(['red', 'green', 'blue'], `Choose a color`);

text(string, string, InputHints | string)

返回一条简单的文本消息。

static function text(text: string, speak?: string, inputHint?: InputHints | string): Partial<Activity>

参数

text

string

要包含在邮件中的文本。

speak

string

(可选) SSML 包含在消息中。

inputHint

InputHints | string

(消息的可选) 输入提示。 默认为 acceptingInput

返回

Partial<Activity>

包含文本的消息活动。

注解

此示例演示如何发送一条简单的短信:

const message = MessageFactory.text('Greetings from example message');