Freigeben über


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

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.

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

Erstellt eine Nachricht Aktivitäts-, die eine Choice Liste enthält, die als HeroCardhinzugefügt wurden.

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.

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.

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.

toChoices(string | Choice[] | undefined)

Akzeptiert eine gemischte Liste von string und Choice basierten Auswahlmöglichkeiten und gibt sie als Choice[]zurück.

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 HeroCardhinzugefü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.actionverfügt, versucht .toChoices(), die Choice.actionauszufüllen.

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