Compartir a través de


ChoiceFactory class

Un conjunto de funciones de utilidad para ayudar con el formato de una actividad "message" que contiene una lista de opciones.

Comentarios

En este ejemplo se muestra la creación de un mensaje que contiene una lista de opciones con formato condicional basado en las funcionalidades del canal subyacente:

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

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

Métodos

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

Devuelve una actividad "message" que contiene una lista de opciones que se han formateado automáticamente en función de las funcionalidades de un canal determinado.

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

Crea un mensaje activity que incluye una lista de choice de que se han agregado como .

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

Devuelve una actividad "message" que contiene una lista de opciones que se han formateado como una lista insertada.

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

Devuelve una actividad "message" que contiene una lista de opciones que se han formateado como una lista numerada o con viñetas.

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

Devuelve una actividad "message" que contiene una lista de opciones que se han agregado como acciones sugeridas.

toChoices(string | Choice[] | undefined)

Toma una lista mixta de opciones basadas en string y Choice y las devuelve como una Choice[].

Detalles del método

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

Devuelve una actividad "message" que contiene una lista de opciones que se han formateado automáticamente en función de las funcionalidades de un canal determinado.

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

Parámetros

channelOrContext

string | TurnContext

Id. de canal o objeto de contexto para el turno actual de conversación.

choices

string | Choice[]

Lista de opciones que se van a representar.

text

string

(Opcional) texto del mensaje.

speak

string

(Opcional) SSML para hablar con el mensaje.

options
ChoiceFactoryOptions

(Opcional) opciones de formato que se usarán al representar como una lista.

Devoluciones

Partial<Activity>

Actividad de mensaje creada.

Comentarios

El algoritmo prefiere dar formato a la lista proporcionada de opciones como acciones sugeridas, pero puede decidir usar una lista basada en texto si las acciones sugeridas no son compatibles de forma nativa con el canal, hay demasiadas opciones para que el canal se muestre o el título de cualquier opción es demasiado largo.

Si el algoritmo decide usar una lista, usará una lista insertada si hay tres o menos opciones y todos tienen títulos cortos. De lo contrario, se usa una lista numerada.

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)

Crea un mensaje activity que incluye una lista de choice de que se han agregado como .

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

Parámetros

choices

string | Choice[]

Opcional. La lista Choice que se va a agregar.

text

string

Opcional. Texto del mensaje.

speak

string

Opcional. Texto SSML que va a hablar el bot en un canal habilitado para voz.

Devoluciones

Activity

Un actividad de con opciones como con botones.

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

Devuelve una actividad "message" que contiene una lista de opciones que se han formateado como una lista insertada.

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

Parámetros

choices

string | Choice[]

Lista de opciones que se van a representar.

text

string

(Opcional) texto del mensaje.

speak

string

(Opcional) SSML para hablar con el mensaje.

options
ChoiceFactoryOptions

(Opcional) opciones de formato para ajustar la representación de la lista.

Devoluciones

Partial<Activity>

Actividad de mensaje creada.

Comentarios

En este ejemplo se genera un texto de mensaje de "Elegir un color: (1. rojo, 2. verde o 3. azul)":

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

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

Devuelve una actividad "message" que contiene una lista de opciones que se han formateado como una lista numerada o con viñetas.

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

Parámetros

choices

string | Choice[]

Lista de opciones que se van a representar.

text

string

(Opcional) texto del mensaje.

speak

string

(Opcional) SSML para hablar con el mensaje.

options
ChoiceFactoryOptions

(Opcional) opciones de formato para ajustar la representación de la lista.

Devoluciones

Partial<Activity>

Actividad de mensaje creada.

Comentarios

En este ejemplo se genera un mensaje con las opciones presentadas como una lista numerada:

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

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

Devuelve una actividad "message" que contiene una lista de opciones que se han agregado como acciones sugeridas.

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

Parámetros

choices

string | Choice[]

Lista de opciones que se van a agregar.

text

string

(Opcional) texto del mensaje.

speak

string

(Opcional) SSML para hablar con el mensaje.

Devoluciones

Partial<Activity>

Actividad con opciones como acciones sugeridas.

Comentarios

En este ejemplo se genera un mensaje con las opciones presentadas como botones de acción sugeridos:

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

toChoices(string | Choice[] | undefined)

Toma una lista mixta de opciones basadas en string y Choice y las devuelve como una Choice[].

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

Parámetros

choices

string | Choice[] | undefined

Lista de opciones que se van a agregar.

Devoluciones

Choice[]

Lista de opciones.

Comentarios

En este ejemplo se convierte una matriz simple de opciones basadas en cadenas en un Choice[]con el formato correcto .

Si el Choice tiene un Partial<CardAction> para Choice.action, .toChoices() intentará rellenar el Choice.action.

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