ChoiceFactory class
Um conjunto de funções de utilitário para ajudar na formatação de uma atividade de "mensagem" que contém uma lista de opções.
Comentários
Este exemplo mostra a criação de uma mensagem que contém uma lista de opções que foi formatada condicionalmente com base nos recursos do canal subjacente:
const { ChoiceFactory } = require('botbuilder-choices');
const message = ChoiceFactory.forChannel(context, ['red', 'green', 'blue'], `Pick a color.`);
await context.sendActivity(message);
Métodos
for |
Retorna uma atividade 'message' que contém uma lista de opções que foi formatada automaticamente com base nos recursos de um determinado canal. |
hero |
Cria uma mensagem Atividade que inclui uma lista De escolha que foi adicionada como |
inline(string | Choice[], string, string, Choice |
Retorna uma atividade 'message' que contém uma lista de opções que foi formatada como uma lista embutida. |
list(string | Choice[], string, string, Choice |
Retorna uma atividade 'message' que contém uma lista de opções que foi formatada como uma lista numerada ou com marcadores. |
suggested |
Retorna uma atividade 'message' que contém uma lista de opções que foram adicionadas como ações sugeridas. |
to |
Usa uma lista mista de |
Detalhes do método
forChannel(string | TurnContext, string | Choice[], string, string, ChoiceFactoryOptions)
Retorna uma atividade 'message' que contém uma lista de opções que foi formatada automaticamente com base nos recursos de um determinado canal.
static function forChannel(channelOrContext: string | TurnContext, choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>
Parâmetros
- channelOrContext
-
string | TurnContext
ID do canal ou objeto de contexto para a virada de conversa atual.
- choices
-
string | Choice[]
Lista de opções a serem renderizadas.
- text
-
string
(Opcional) texto da mensagem.
- speak
-
string
(Opcional) SSML para falar pela mensagem.
- options
- ChoiceFactoryOptions
(Opcional) opções de formatação a serem usadas ao renderizar como uma lista.
Retornos
Partial<Activity>
A atividade de mensagem criada.
Comentários
O algoritmo prefere formatar a lista fornecida de opções como ações sugeridas, mas pode decidir usar uma lista baseada em texto se as ações sugeridas não tiverem suporte nativo pelo canal, há muitas opções para o canal exibir ou o título de qualquer escolha é muito longo.
Se o algoritmo decidir usar uma lista, ele usará uma lista embutida se houver três ou menos opções e todos tiverem títulos curtos. Caso contrário, uma lista numerada será usada.
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)
Cria uma mensagem Atividade que inclui uma lista De escolha que foi adicionada como HeroCard
's.
static function heroCard(choices?: string | Choice[], text?: string, speak?: string): Activity
Parâmetros
- text
-
string
Opcional. Texto da mensagem.
- speak
-
string
Opcional. Texto SSML a ser falado pelo bot em um canal habilitado para fala.
Retornos
Activity
Uma Atividade com opções como HeroCard
com botões.
inline(string | Choice[], string, string, ChoiceFactoryOptions)
Retorna uma atividade 'message' que contém uma lista de opções que foi formatada como uma lista embutida.
static function inline(choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>
Parâmetros
- choices
-
string | Choice[]
Lista de opções a serem renderizadas.
- text
-
string
(Opcional) texto da mensagem.
- speak
-
string
(Opcional) SSML para falar pela mensagem.
- options
- ChoiceFactoryOptions
(Opcional) opções de formatação para ajustar a renderização da lista.
Retornos
Partial<Activity>
A atividade de mensagem criada.
Comentários
Este exemplo gera um texto de mensagem de "Escolha uma cor: (1. vermelho, 2. verde ou 3. azul)":
const message = ChoiceFactory.inline(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);
list(string | Choice[], string, string, ChoiceFactoryOptions)
Retorna uma atividade 'message' que contém uma lista de opções que foi formatada como uma lista numerada ou com marcadores.
static function list(choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>
Parâmetros
- choices
-
string | Choice[]
Lista de opções a serem renderizadas.
- text
-
string
(Opcional) texto da mensagem.
- speak
-
string
(Opcional) SSML para falar pela mensagem.
- options
- ChoiceFactoryOptions
(Opcional) opções de formatação para ajustar a renderização da lista.
Retornos
Partial<Activity>
A atividade de mensagem criada.
Comentários
Este exemplo gera uma mensagem com as opções apresentadas como uma lista numerada:
const message = ChoiceFactory.list(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);
suggestedAction(string | Choice[], string, string)
Retorna uma atividade 'message' que contém uma lista de opções que foram adicionadas como ações sugeridas.
static function suggestedAction(choices: string | Choice[], text?: string, speak?: string): Partial<Activity>
Parâmetros
- choices
-
string | Choice[]
Lista de opções a serem adicionadas.
- text
-
string
(Opcional) texto da mensagem.
- speak
-
string
(Opcional) SSML para falar pela mensagem.
Retornos
Partial<Activity>
Uma atividade com opções como ações sugeridas.
Comentários
Este exemplo gera uma mensagem com as opções apresentadas como botões de ação sugeridos:
const message = ChoiceFactory.suggestedAction(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);
toChoices(string | Choice[] | undefined)
Usa uma lista mista de string
opções baseadas e e Choice
as retorna como um Choice[]
.
static function toChoices(choices: string | Choice[] | undefined): Choice[]
Parâmetros
- choices
-
string | Choice[] | undefined
Lista de opções a serem adicionadas.
Retornos
Choice[]
Uma lista de opções.
Comentários
Este exemplo converte uma matriz simples de opções baseadas em cadeia de caracteres em um formatado Choice[]
corretamente.
Se o Choice
tiver um Partial<CardAction>
para Choice.action
, .toChoices()
tentará preencher o Choice.action
.
const choices = ChoiceFactory.toChoices(['red', 'green', 'blue']);