Partager via


ChoiceFactory class

Ensemble de fonctions utilitaires pour faciliter la mise en forme d’une activité « message » contenant une liste de choix.

Remarques

Cet exemple montre comment créer un message contenant une liste de choix mis en forme conditionnellement en fonction des fonctionnalités du canal sous-jacent :

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

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

Méthodes

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

Retourne une activité « message » contenant une liste de choix qui a été automatiquement mise en forme en fonction des fonctionnalités d’un canal donné.

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

Crée un message activité qui inclut une liste de choix qui ont été ajoutées en tant que HeroCard's.

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

Retourne une activité « message » contenant une liste de choix qui a été mise en forme en tant que liste incluse.

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

Retourne une activité « message » contenant une liste de choix qui a été mise en forme sous forme de liste numérotée ou à puces.

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

Retourne une activité « message » contenant une liste de choix qui ont été ajoutées en tant qu’actions suggérées.

toChoices(string | Choice[] | undefined)

Prend une liste mixte de string et Choice choix basés sur les choix et les retourne en tant que Choice[].

Détails de la méthode

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

Retourne une activité « message » contenant une liste de choix qui a été automatiquement mise en forme en fonction des fonctionnalités d’un canal donné.

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

Paramètres

channelOrContext

string | TurnContext

ID de canal ou objet de contexte pour le tour actuel de la conversation.

choices

string | Choice[]

Liste des choix à afficher.

text

string

(Facultatif) texte du message.

speak

string

(Facultatif) SSML pour parler du message.

options
ChoiceFactoryOptions

(Facultatif) options de mise en forme à utiliser lors du rendu en tant que liste.

Retours

Partial<Activity>

Activité de message créée.

Remarques

L’algorithme préfère mettre en forme la liste fournie de choix comme actions suggérées, mais peut décider d’utiliser une liste basée sur du texte si les actions suggérées ne sont pas prises en charge en mode natif par le canal, il existe trop de choix pour que le canal s’affiche, ou le titre d’un choix est trop long.

Si l’algorithme décide d’utiliser une liste, il utilise une liste inline s’il y a 3 ou moins de choix et tous ont des titres courts. Sinon, une liste numérotée est utilisée.

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)

Crée un message activité qui inclut une liste de choix qui ont été ajoutées en tant que HeroCard's.

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

Paramètres

choices

string | Choice[]

Optionnel. Liste Choix à ajouter.

text

string

Optionnel. Texte du message.

speak

string

Optionnel. Texte SSML à prononcer par le bot sur un canal avec reconnaissance vocale.

Retours

Activity

Une activité avec des choix comme HeroCard avec des boutons.

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

Retourne une activité « message » contenant une liste de choix qui a été mise en forme en tant que liste incluse.

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

Paramètres

choices

string | Choice[]

Liste des choix à afficher.

text

string

(Facultatif) texte du message.

speak

string

(Facultatif) SSML pour parler du message.

options
ChoiceFactoryOptions

(Facultatif) options de mise en forme pour ajuster le rendu de la liste.

Retours

Partial<Activity>

Activité de message créée.

Remarques

Cet exemple génère un texte de message « Choisir une couleur : (1. rouge, 2. vert ou 3. bleu) » :

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

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

Retourne une activité « message » contenant une liste de choix qui a été mise en forme sous forme de liste numérotée ou à puces.

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

Paramètres

choices

string | Choice[]

Liste des choix à afficher.

text

string

(Facultatif) texte du message.

speak

string

(Facultatif) SSML pour parler du message.

options
ChoiceFactoryOptions

(Facultatif) options de mise en forme pour ajuster le rendu de la liste.

Retours

Partial<Activity>

Activité de message créée.

Remarques

Cet exemple génère un message avec les choix présentés sous forme de liste numérotée :

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

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

Retourne une activité « message » contenant une liste de choix qui ont été ajoutées en tant qu’actions suggérées.

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

Paramètres

choices

string | Choice[]

Liste des choix à ajouter.

text

string

(Facultatif) texte du message.

speak

string

(Facultatif) SSML pour parler du message.

Retours

Partial<Activity>

Activité avec des choix comme actions suggérées.

Remarques

Cet exemple génère un message avec les choix présentés sous forme de boutons d’action suggérés :

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

toChoices(string | Choice[] | undefined)

Prend une liste mixte de string et Choice choix basés sur les choix et les retourne en tant que Choice[].

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

Paramètres

choices

string | Choice[] | undefined

Liste des choix à ajouter.

Retours

Choice[]

Liste de choix.

Remarques

Cet exemple convertit un tableau simple de choix basés sur des chaînes en un Choice[]correctement mis en forme.

Si le Choice a un Partial<CardAction> pour Choice.action, .toChoices() tente de remplir le Choice.action.

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