ChoiceFactory class
Eine Reihe von Hilfsfunktionen zur Unterstützung der Formatierung einer "Nachricht"-Aktivität, die eine Liste von Auswahlmöglichkeiten enthält.
Hinweise
Dieses Beispiel zeigt das Erstellen einer Nachricht, die eine Liste mit Auswahlmöglichkeiten enthält, die basierend auf den Funktionen des zugrunde liegenden Kanals bedingt formatiert wurden:
const { ChoiceFactory } = require('botbuilder-choices');
const message = ChoiceFactory.forChannel(context, ['red', 'green', 'blue'], `Pick a color.`);
await context.sendActivity(message);
Methoden
for |
Gibt eine "Nachricht"-Aktivität zurück, die eine Liste von Auswahlmöglichkeiten enthält, die basierend auf den Funktionen eines bestimmten Kanals automatisch formatiert wurden. |
hero |
Erstellt eine Nachricht Aktivitäts-, die eine Choice Liste enthält, die als |
inline(string | Choice[], string, string, Choice |
Gibt eine "Nachricht"-Aktivität zurück, die eine Liste mit Auswahlmöglichkeiten enthält, die als Inlineliste formatiert wurden. |
list(string | Choice[], string, string, Choice |
Gibt eine "Nachricht"-Aktivität zurück, die eine Liste mit Auswahlmöglichkeiten enthält, die als nummerierte liste oder aufzählung formatiert wurden. |
suggested |
Gibt eine "Message"-Aktivität zurück, die eine Liste von Auswahlmöglichkeiten enthält, die als vorgeschlagene Aktionen hinzugefügt wurden. |
to |
Akzeptiert eine gemischte Liste von |
Details zur Methode
forChannel(string | TurnContext, string | Choice[], string, string, ChoiceFactoryOptions)
Gibt eine "Nachricht"-Aktivität zurück, die eine Liste von Auswahlmöglichkeiten enthält, die basierend auf den Funktionen eines bestimmten Kanals automatisch formatiert wurden.
static function forChannel(channelOrContext: string | TurnContext, choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>
Parameter
- channelOrContext
-
string | TurnContext
Kanal-ID oder Kontextobjekt für die aktuelle Unterhaltungswende.
- choices
-
string | Choice[]
Liste der zu rendernden Optionen.
- text
-
string
(Optional) Text der Nachricht.
- speak
-
string
(Optional) SSML spricht für die Nachricht.
- options
- ChoiceFactoryOptions
(Optional) Formatierungsoptionen, die beim Rendern als Liste verwendet werden sollen.
Gibt zurück
Partial<Activity>
Die erstellte Nachrichtenaktivität.
Hinweise
Der Algorithmus bevorzugt das Formatieren der bereitgestellten Auswahlliste als vorgeschlagene Aktionen, kann aber entscheiden, eine textbasierte Liste zu verwenden, wenn vorgeschlagene Aktionen nicht nativ vom Kanal unterstützt werden, es gibt zu viele Optionen für den Kanal anzuzeigen, oder der Titel einer beliebigen Auswahl ist zu lang.
Wenn der Algorithmus entscheidet, eine Liste zu verwenden, wird eine Inlineliste verwendet, wenn drei oder weniger Auswahlmöglichkeiten vorhanden sind und alle über kurze Titel verfügen. Andernfalls wird eine nummerierte Liste verwendet.
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)
Erstellt eine Nachricht Aktivitäts-, die eine Choice Liste enthält, die als HeroCard
hinzugefügt wurden.
static function heroCard(choices?: string | Choice[], text?: string, speak?: string): Activity
Parameter
- choices
-
string | Choice[]
Wahlfrei. Die hinzuzufügende Auswahlliste.
- text
-
string
Wahlfrei. Text der Nachricht.
- speak
-
string
Wahlfrei. SSML-Text, der vom Bot in einem sprachfähigen Kanal gesprochen werden soll.
Gibt zurück
Activity
Eine Aktivität mit Auswahlmöglichkeiten als HeroCard
mit Schaltflächen.
inline(string | Choice[], string, string, ChoiceFactoryOptions)
Gibt eine "Nachricht"-Aktivität zurück, die eine Liste mit Auswahlmöglichkeiten enthält, die als Inlineliste formatiert wurden.
static function inline(choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>
Parameter
- choices
-
string | Choice[]
Liste der zu rendernden Optionen.
- text
-
string
(Optional) Text der Nachricht.
- speak
-
string
(Optional) SSML spricht für die Nachricht.
- options
- ChoiceFactoryOptions
(Optional) Formatierungsoptionen zum Optimieren des Renderns der Liste.
Gibt zurück
Partial<Activity>
Die erstellte Nachrichtenaktivität.
Hinweise
In diesem Beispiel wird der Meldungstext "Farbe auswählen: (1. Rot, 2. Grün oder 3. Blau)":
const message = ChoiceFactory.inline(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);
list(string | Choice[], string, string, ChoiceFactoryOptions)
Gibt eine "Nachricht"-Aktivität zurück, die eine Liste mit Auswahlmöglichkeiten enthält, die als nummerierte liste oder aufzählung formatiert wurden.
static function list(choices: string | Choice[], text?: string, speak?: string, options?: ChoiceFactoryOptions): Partial<Activity>
Parameter
- choices
-
string | Choice[]
Liste der zu rendernden Optionen.
- text
-
string
(Optional) Text der Nachricht.
- speak
-
string
(Optional) SSML spricht für die Nachricht.
- options
- ChoiceFactoryOptions
(Optional) Formatierungsoptionen zum Optimieren des Renderns der Liste.
Gibt zurück
Partial<Activity>
Die erstellte Nachrichtenaktivität.
Hinweise
In diesem Beispiel wird eine Nachricht mit den Optionen generiert, die als nummerierte Liste angezeigt werden:
const message = ChoiceFactory.list(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);
suggestedAction(string | Choice[], string, string)
Gibt eine "Message"-Aktivität zurück, die eine Liste von Auswahlmöglichkeiten enthält, die als vorgeschlagene Aktionen hinzugefügt wurden.
static function suggestedAction(choices: string | Choice[], text?: string, speak?: string): Partial<Activity>
Parameter
- choices
-
string | Choice[]
Liste der hinzuzufügenden Optionen.
- text
-
string
(Optional) Text der Nachricht.
- speak
-
string
(Optional) SSML spricht für die Nachricht.
Gibt zurück
Partial<Activity>
Eine Aktivität mit Auswahlmöglichkeiten als vorgeschlagene Aktionen.
Hinweise
In diesem Beispiel wird eine Nachricht mit den Optionen generiert, die als vorgeschlagene Interaktive Schaltflächen angezeigt werden:
const message = ChoiceFactory.suggestedAction(['red', 'green', 'blue'], `Pick a color:`);
await context.sendActivity(message);
toChoices(string | Choice[] | undefined)
Akzeptiert eine gemischte Liste von string
und Choice
basierten Auswahlmöglichkeiten und gibt sie als Choice[]
zurück.
static function toChoices(choices: string | Choice[] | undefined): Choice[]
Parameter
- choices
-
string | Choice[] | undefined
Liste der hinzuzufügenden Optionen.
Gibt zurück
Choice[]
Eine Liste der Auswahlmöglichkeiten.
Hinweise
In diesem Beispiel wird ein einfaches Array mit Zeichenfolgenbasierten Auswahlmöglichkeiten in ein ordnungsgemäß formatiertes Choice[]
konvertiert.
Wenn die Choice
über eine Partial<CardAction>
für Choice.action
verfügt, versucht .toChoices()
, die Choice.action
auszufüllen.
const choices = ChoiceFactory.toChoices(['red', 'green', 'blue']);