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é mise en forme automatiquement en fonction des fonctionnalités d’un canal donné.

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

Crée une activité de message qui inclut une liste de choix qui a été ajoutée en tant que HeroCards.

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 inline.

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és en tant qu’actions suggérées.

toChoices(string | Choice[] | undefined)

Prend une liste mixte des string choix et Choice basés et les retourne sous la forme d’un 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é mise en forme automatiquement 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 à restituer.

text

string

(Facultatif) texte du message.

speak

string

(Facultatif) SSML pour parler pour le message.

options
ChoiceFactoryOptions

Options de mise en forme (facultatives) à 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 des choix fournis sous forme d’actions suggérées, mais peut décider d’utiliser une liste textuelle si les actions suggérées ne sont pas prises en charge en mode natif par le canal, s’il existe trop de choix pour que le canal s’affiche, ou si le titre d’un choix est trop long.

Si l’algorithme décide d’utiliser une liste, il utilisera une liste inline s’il existe 3 choix ou moins et que 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 une activité de message qui inclut une liste de choix qui a été ajoutée en tant que HeroCards.

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

Paramètres

choices

string | Choice[]

facultatif. Liste Choix à ajouter.

text

string

facultatif. Texte du message.

speak

string

facultatif. Texte SSML à prononcer par le bot sur un canal à commande vocale.

Retours

Activity

Une activité avec des options comme HeroCard avec les 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 inline.

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

Paramètres

choices

string | Choice[]

Liste des choix à restituer.

text

string

(Facultatif) texte du message.

speak

string

(Facultatif) SSML pour parler pour le message.

options
ChoiceFactoryOptions

Options de mise en forme (facultatives) pour modifier 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 à restituer.

text

string

(Facultatif) texte du message.

speak

string

(Facultatif) SSML pour parler pour le message.

options
ChoiceFactoryOptions

Options de mise en forme (facultatives) pour modifier 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és 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 options à ajouter.

text

string

(Facultatif) texte du message.

speak

string

(Facultatif) SSML pour parler pour le message.

Retours

Partial<Activity>

Activité avec des choix sous forme d’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 des string choix et Choice basés et les retourne sous la forme d’un Choice[].

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

Paramètres

choices

string | Choice[] | undefined

Liste des options à ajouter.

Retours

Choice[]

Liste de choix.

Remarques

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

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

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