Condividi tramite


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 messaggio Activity che include un elenco di scelta che sono stati aggiunti come '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 opzioni basate su string e Choice e 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 di opzioni di cui eseguire 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 di scelte fornito 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 utilizzato 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 messaggio Activity che include un elenco di scelta che sono stati aggiunti come 's.

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

Parametri

choices

string | Choice[]

Opzionale. Elenco scelta da aggiungere.

text

string

Opzionale. Testo del messaggio.

speak

string

Opzionale. Testo SSML da pronunciare dal bot in un canale abilitato per il riconoscimento vocale.

Restituisce

Activity

Un attività con opzioni come con 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 di opzioni di cui eseguire 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 "Selezionare 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 di opzioni di cui eseguire 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

Questo esempio genera 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 opzioni 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

Questo esempio genera 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 opzioni basate su string e Choice e le restituisce come Choice[].

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

Parametri

choices

string | Choice[] | undefined

Elenco di opzioni da aggiungere.

Restituisce

Choice[]

Elenco di scelte.

Commenti

In questo esempio viene convertita una semplice matrice di scelte basate su stringhe in un Choice[]formattato correttamente.

Se il Choice ha un Partial<CardAction> per Choice.action, .toChoices() tenterà di riempire il Choice.action.

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