ChoiceFactory class
Набор служебных функций для поддержки форматирования действия "сообщения", содержащего список вариантов.
Комментарии
В этом примере показано создание сообщения, содержащего список вариантов, которые были условно отформатированы на основе возможностей базового канала:
const { ChoiceFactory } = require('botbuilder-choices');
const message = ChoiceFactory.forChannel(context, ['red', 'green', 'blue'], `Pick a color.`);
await context.sendActivity(message);
Методы
for |
Возвращает действие "сообщение", содержащее список вариантов выбора, который был автоматически отформатирован на основе возможностей заданного канала. |
hero |
Создает сообщение |
inline(string | Choice[], string, string, Choice |
Возвращает действие "сообщение", содержащее список вариантов, отформатированных как встроенный список. |
list(string | Choice[], string, string, Choice |
Возвращает действие "сообщение", содержащее список вариантов, отформатированных как нумерованный или маркированный список. |
suggested |
Возвращает действие "сообщение", содержащее список вариантов, которые были добавлены в качестве предлагаемых действий. |
to |
Принимает смешанный список |
Сведения о методе
forChannel(string | TurnContext, string | Choice[], string, string, ChoiceFactoryOptions)
Возвращает действие "сообщение", содержащее список вариантов выбора, который был автоматически отформатирован на основе возможностей заданного канала.
static function forChannel(channelOrContext: string | TurnContext, choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>
Параметры
- channelOrContext
-
string | TurnContext
Идентификатор канала или объект контекста для текущего шага беседы.
- 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)
Создает сообщение
static function heroCard(choices?: string | Choice[], text?: string, speak?: string): Activity
Параметры
- choices
-
string | Choice[]
Необязательный. Список выбора
- text
-
string
Необязательный. Текст сообщения.
- speak
-
string
Необязательный. Текст SSML, который будет говорить бот в канале с поддержкой речи.
Возвращаемое значение
Activity
inline(string | Choice[], string, string, ChoiceFactoryOptions)
Возвращает действие "сообщение", содержащее список вариантов, отформатированных как встроенный список.
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>
Созданное действие сообщения.
Комментарии
В этом примере создается текст сообщения "Выбрать цвет: (1. красный, 2. зеленый или 3. синий)":
const message = ChoiceFactory.inline(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);
list(string | Choice[], string, string, ChoiceFactoryOptions)
Возвращает действие "сообщение", содержащее список вариантов, отформатированных как нумерованный или маркированный список.
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)
Возвращает действие "сообщение", содержащее список вариантов, которые были добавлены в качестве предлагаемых действий.
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)
Принимает смешанный список string
и Choice
выбор на основе и возвращает их в качестве Choice[]
.
static function toChoices(choices: string | Choice[] | undefined): Choice[]
Параметры
- choices
-
string | Choice[] | undefined
Список вариантов добавления.
Возвращаемое значение
Choice[]
Список вариантов.
Комментарии
В этом примере преобразуется простой массив строковых вариантов выбора в правильно отформатированные Choice[]
.
Если Choice
имеет Partial<CardAction>
для Choice.action
, .toChoices()
попытается заполнить Choice.action
.
const choices = ChoiceFactory.toChoices(['red', 'green', 'blue']);