Compartilhar via


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

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.

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

Cria uma mensagem Atividade que inclui uma lista De escolha que foi adicionada como HeroCard's.

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.

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.

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

Retorna uma atividade 'message' que contém uma lista de opções que foram adicionadas como ações sugeridas.

toChoices(string | Choice[] | undefined)

Usa uma lista mista de string opções baseadas e e Choice as retorna como um Choice[].

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

choices

string | Choice[]

Opcional. A lista Escolha a ser adicionada.

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']);