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
for |
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. |
hero |
Crea un mensaje |
inline(string | Choice[], string, string, Choice |
Devuelve una actividad "message" que contiene una lista de opciones que se han formateado como una lista insertada. |
list(string | Choice[], string, string, Choice |
Devuelve una actividad "message" que contiene una lista de opciones que se han formateado como una lista numerada o con viñetas. |
suggested |
Devuelve una actividad "message" que contiene una lista de opciones que se han agregado como acciones sugeridas. |
to |
Toma una lista mixta de opciones basadas en |
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
static function heroCard(choices?: string | Choice[], text?: string, speak?: string): Activity
Parámetros
- 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
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']);