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
| for |
Restituisce un'attività "message" contenente un elenco di scelte che sono state formattate automaticamente in base alle funzionalità di un determinato canale. |
| hero |
Crea un messaggio |
| inline(string | Choice[], string, string, Choice |
Restituisce un'attività "message" contenente un elenco di scelte formattate come elenco inline. |
| list(string | Choice[], string, string, Choice |
Restituisce un'attività 'message' contenente un elenco di scelte formattate come elenco numerato o puntato. |
| suggested |
Restituisce un'attività "message" contenente un elenco di scelte aggiunte come azioni suggerite. |
| to |
Accetta un elenco misto di opzioni basate su |
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
static function heroCard(choices?: string | Choice[], text?: string, speak?: string): Activity
Parametri
- choices
-
string | Choice[]
Opzionale. Elenco scelta
- 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à
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']);