ChoiceFactory class

Set di funzioni di utilità per facilitare la formattazione di un'attività 'message' contenente un elenco di scelte.

Commenti

Questo esempio mostra la creazione di un messaggio contenente un elenco di scelte formattate in modo condizionale in base alle funzionalità del canale sottostante:

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

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

Metodi

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

Restituisce un'attività 'message' contenente un elenco di scelte che sono state formattate automaticamente in base alle funzionalità di un determinato canale.

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

Crea un'attività di messaggio che include un elenco di scelte aggiunto come HeroCard's.

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

Restituisce un'attività 'message' contenente un elenco di scelte formattate come elenco inline.

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

Restituisce un'attività 'message' contenente un elenco di scelte formattate come elenco numerato o puntato.

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

Restituisce un'attività 'message' contenente un elenco di scelte aggiunte come azioni suggerite.

toChoices(string | Choice[] | undefined)

Accetta un elenco misto di string scelte basate e Choice le restituisce come Choice[].

Dettagli metodo

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

Restituisce un'attività 'message' contenente un elenco di scelte che sono state formattate automaticamente in base alle funzionalità di un determinato canale.

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

Parametri

channelOrContext

string | TurnContext

ID canale o oggetto contesto per il turno corrente della conversazione.

choices

string | Choice[]

Elenco delle scelte da eseguire per il rendering.

text

string

(Facoltativo) testo del messaggio.

speak

string

(Facoltativo) SSML per parlare per il messaggio.

options
ChoiceFactoryOptions

(Facoltativo) Opzioni di formattazione da usare per il rendering come elenco.

Restituisce

Partial<Activity>

Attività del messaggio creata.

Commenti

L'algoritmo preferisce formattare l'elenco fornito di scelte come azioni suggerite, ma può decidere di usare un elenco basato su testo se le azioni suggerite non sono supportate in modo nativo dal canale, ci sono troppe scelte per la visualizzazione del canale o il titolo di qualsiasi scelta è troppo lungo.

Se l'algoritmo decide di usare un elenco, userà un elenco inline se sono presenti 3 o meno scelte e tutti hanno titoli brevi. In caso contrario, viene usato un elenco numerato.

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'attività di messaggio che include un elenco di scelte aggiunto come HeroCard's.

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

Parametri

choices

string | Choice[]

Facoltativa. Elenco Scelta da aggiungere.

text

string

Facoltativa. Testo del messaggio.

speak

string

Facoltativa. Testo SSML da pronunciare dal bot in un canale abilitato per la voce.

Restituisce

Activity

Un'attività con scelte come HeroCard con i pulsanti.

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

Restituisce un'attività 'message' contenente un elenco di scelte formattate come elenco inline.

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

Parametri

choices

string | Choice[]

Elenco delle scelte da eseguire per il rendering.

text

string

(Facoltativo) testo del messaggio.

speak

string

(Facoltativo) SSML per parlare per il messaggio.

options
ChoiceFactoryOptions

(Facoltativo) opzioni di formattazione per modificare il rendering dell'elenco.

Restituisce

Partial<Activity>

Attività del messaggio creata.

Commenti

In questo esempio viene generato un messaggio di testo "Selezione un colore: (1. rosso, 2. verde o 3. blu)":

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

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

Restituisce un'attività 'message' contenente un elenco di scelte formattate come elenco numerato o puntato.

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

Parametri

choices

string | Choice[]

Elenco delle scelte da eseguire per il rendering.

text

string

(Facoltativo) testo del messaggio.

speak

string

(Facoltativo) SSML per parlare per il messaggio.

options
ChoiceFactoryOptions

(Facoltativo) opzioni di formattazione per modificare il rendering dell'elenco.

Restituisce

Partial<Activity>

Attività del messaggio creata.

Commenti

In questo esempio viene generato un messaggio con le scelte presentate come elenco numerato:

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

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

Restituisce un'attività 'message' contenente un elenco di scelte aggiunte come azioni suggerite.

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

Parametri

choices

string | Choice[]

Elenco di scelte da aggiungere.

text

string

(Facoltativo) testo del messaggio.

speak

string

(Facoltativo) SSML per parlare per il messaggio.

Restituisce

Partial<Activity>

Un'attività con scelte come azioni suggerite.

Commenti

In questo esempio viene generato un messaggio con le scelte presentate come pulsanti di azione suggeriti:

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

toChoices(string | Choice[] | undefined)

Accetta un elenco misto di string scelte basate e Choice le restituisce come Choice[].

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

Parametri

choices

string | Choice[] | undefined

Elenco di scelte da aggiungere.

Restituisce

Choice[]

Elenco di scelte.

Commenti

In questo esempio viene eseguita la conversione di una semplice matrice di scelte basate su stringhe Choice[]in un formato corretto.

Se ha un oggetto per Choice.action, .toChoices() tenterà di riempire l'oggetto ChoiceChoice.action.Partial<CardAction>

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