次の方法で共有


ChoiceFactory class

選択肢の一覧を含む 'message' アクティビティの書式設定を支援する一連のユーティリティ関数。

注釈

この例では、基になるチャネルの機能に基づいて条件付きで書式設定された選択肢の一覧を含むメッセージの作成を示します。

const { ChoiceFactory } = require('botbuilder-choices');

const message = ChoiceFactory.forChannel(context, ['red', 'green', 'blue'], `Pick a color.`);
await context.sendActivity(message);

メソッド

forChannel(string | TurnContext, string | Choice[], string, string, ChoiceFactoryOptions)

指定されたチャネルの機能に基づいて自動的に書式設定された選択肢の一覧を含む 'message' アクティビティを返します。

heroCard(string | Choice[], string, string)

アクティビティ メッセージを作成します。これには、として追加された Choice リストが含まれます。

inline(string | Choice[], string, string, ChoiceFactoryOptions)

インライン リストとして書式設定された選択肢の一覧を含む 'message' アクティビティを返します。

list(string | Choice[], string, string, ChoiceFactoryOptions)

段落番号または箇条書きとして書式設定された選択肢の一覧を含む 'message' アクティビティを返します。

suggestedAction(string | Choice[], string, string)

推奨されるアクションとして追加された選択肢の一覧を含む 'message' アクティビティを返します。

toChoices(string | Choice[] | undefined)

stringChoice ベースの選択肢の混在リストを取得し、それらを Choice[]として返します。

メソッドの詳細

forChannel(string | TurnContext, string | Choice[], string, string, ChoiceFactoryOptions)

指定されたチャネルの機能に基づいて自動的に書式設定された選択肢の一覧を含む 'message' アクティビティを返します。

static function forChannel(channelOrContext: string | TurnContext, choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>

パラメーター

channelOrContext

string | TurnContext

会話の現在のターンのチャネル ID またはコンテキスト オブジェクト。

choices

string | Choice[]

レンダリングする選択肢の一覧。

text

string

(省略可能) メッセージのテキスト。

speak

string

(省略可能)メッセージを読み上げる SSML。

options
ChoiceFactoryOptions

(省略可能) リストとしてレンダリングするときに使用する書式設定オプション。

戻り値

Partial<Activity>

作成されたメッセージ アクティビティ。

注釈

アルゴリズムは、指定された選択肢のリストを推奨アクションとして書式設定することを好みますが、推奨されるアクションがチャネルでネイティブにサポートされていない場合、チャネルで表示する選択肢が多すぎる、または任意のタイトルが長すぎる場合は、テキスト ベースのリストを使用することを決定できます。

アルゴリズムがリストを使用することを決定した場合、選択肢が 3 以下で、すべてのタイトルが短い場合はインライン リストが使用されます。 それ以外の場合は、番号付きリストが使用されます。

const message = ChoiceFactory.forChannel(context, [
   { value: 'red', action: { type: 'imBack', title: 'The Red Pill', value: 'red pill' } },
   { value: 'blue', action: { type: 'imBack', title: 'The Blue Pill', value: 'blue pill' } },
], `Which do you choose?`);
await context.sendActivity(message);

heroCard(string | Choice[], string, string)

アクティビティ メッセージを作成します。これには、として追加された Choice リストが含まれます。

static function heroCard(choices?: string | Choice[], text?: string, speak?: string): Activity

パラメーター

choices

string | Choice[]

随意。 追加する 選択肢 一覧。

text

string

随意。 メッセージのテキスト。

speak

string

随意。 音声対応チャネルでボットが読み上げる SSML テキスト。

戻り値

Activity

ボタン付きの HeroCard として選択できる アクティビティ

inline(string | Choice[], string, string, ChoiceFactoryOptions)

インライン リストとして書式設定された選択肢の一覧を含む 'message' アクティビティを返します。

static function inline(choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>

パラメーター

choices

string | Choice[]

レンダリングする選択肢の一覧。

text

string

(省略可能) メッセージのテキスト。

speak

string

(省略可能)メッセージを読み上げる SSML。

options
ChoiceFactoryOptions

(省略可能) リストのレンダリングを調整するための書式設定オプション。

戻り値

Partial<Activity>

作成されたメッセージ アクティビティ。

注釈

次の使用例は、"Pick a color: (1. red, 2. green, or 3. blue)" というメッセージ テキストを生成します。

const message = ChoiceFactory.inline(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);

list(string | Choice[], string, string, ChoiceFactoryOptions)

段落番号または箇条書きとして書式設定された選択肢の一覧を含む 'message' アクティビティを返します。

static function list(choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>

パラメーター

choices

string | Choice[]

レンダリングする選択肢の一覧。

text

string

(省略可能) メッセージのテキスト。

speak

string

(省略可能)メッセージを読み上げる SSML。

options
ChoiceFactoryOptions

(省略可能) リストのレンダリングを調整するための書式設定オプション。

戻り値

Partial<Activity>

作成されたメッセージ アクティビティ。

注釈

次の例では、番号付きリストとして表示される選択肢を含むメッセージを生成します。

const message = ChoiceFactory.list(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);

suggestedAction(string | Choice[], string, string)

推奨されるアクションとして追加された選択肢の一覧を含む 'message' アクティビティを返します。

static function suggestedAction(choices: string | Choice[], text?: string, speak?: string): Partial<Activity>

パラメーター

choices

string | Choice[]

追加する選択肢の一覧。

text

string

(省略可能) メッセージのテキスト。

speak

string

(省略可能)メッセージを読み上げる SSML。

戻り値

Partial<Activity>

推奨されるアクションとして選択したアクティビティ。

注釈

この例では、推奨されるアクション ボタンとして表示される選択肢を含むメッセージを生成します。

const message = ChoiceFactory.suggestedAction(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);

toChoices(string | Choice[] | undefined)

stringChoice ベースの選択肢の混在リストを取得し、それらを Choice[]として返します。

static function toChoices(choices: string | Choice[] | undefined): Choice[]

パラメーター

choices

string | Choice[] | undefined

追加する選択肢の一覧。

戻り値

Choice[]

選択肢の一覧。

注釈

次の使用例は、文字列ベースの選択肢の単純な配列を適切に書式設定された Choice[]に変換します。

ChoiceChoice.actionPartial<CardAction> がある場合、.toChoices()Choice.actionを埋めようとします。

const choices = ChoiceFactory.toChoices(['red', 'green', 'blue']);