Bagikan melalui


ChoiceFactory class

Sekumpulan fungsi utilitas untuk membantu memformat aktivitas 'pesan' yang berisi daftar pilihan.

Keterangan

Contoh ini menunjukkan pembuatan pesan yang berisi daftar pilihan yang telah diformat secara kondisional berdasarkan kemampuan saluran yang mendasar:

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

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

Metode

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

Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah diformat secara otomatis berdasarkan kemampuan saluran tertentu.

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

Membuat Aktivitas pesan yang menyertakan daftar Pilihan yang telah ditambahkan sebagai .

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

Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah diformat sebagai daftar sebaris.

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

Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah diformat sebagai daftar bernomor atau berpoin.

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

Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah ditambahkan sebagai tindakan yang disarankan.

toChoices(string | Choice[] | undefined)

Mengambil daftar campuran pilihan berbasis string dan Choice dan mengembalikannya sebagai Choice[].

Detail Metode

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

Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah diformat secara otomatis berdasarkan kemampuan saluran tertentu.

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

Parameter

channelOrContext

string | TurnContext

ID saluran atau objek konteks untuk pergantian percakapan saat ini.

choices

string | Choice[]

Daftar pilihan yang akan dirender.

text

string

(Opsional) teks pesan.

speak

string

(Opsional) SSML untuk berbicara untuk pesan.

options
ChoiceFactoryOptions

(Opsional) opsi pemformatan untuk digunakan saat penyajian sebagai daftar.

Mengembalikan

Partial<Activity>

Aktivitas pesan yang dibuat.

Keterangan

Algoritma lebih suka memformat daftar pilihan yang disediakan sebagai tindakan yang disarankan tetapi dapat memutuskan untuk menggunakan daftar berbasis teks jika tindakan yang disarankan tidak didukung secara asli oleh saluran, ada terlalu banyak pilihan untuk ditampilkan saluran, atau judul pilihan apa pun terlalu panjang.

Jika algoritma memutuskan untuk menggunakan daftar, algoritma akan menggunakan daftar sebaris jika ada 3 pilihan atau kurang dan semuanya memiliki judul pendek. Jika tidak, daftar bernomor digunakan.

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)

Membuat Aktivitas pesan yang menyertakan daftar Pilihan yang telah ditambahkan sebagai .

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

Parameter

choices

string | Choice[]

Fakultatif. Daftar Pilihan untuk ditambahkan.

text

string

Fakultatif. Teks pesan.

speak

string

Fakultatif. Teks SSML yang akan diucapkan oleh bot pada saluran yang mendukung ucapan.

Mengembalikan

Activity

Aktivitas dengan pilihan sebagai dengan tombol.

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

Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah diformat sebagai daftar sebaris.

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

Parameter

choices

string | Choice[]

Daftar pilihan yang akan dirender.

text

string

(Opsional) teks pesan.

speak

string

(Opsional) SSML untuk berbicara untuk pesan.

options
ChoiceFactoryOptions

(Opsional) opsi pemformatan untuk mengubah penyajian daftar.

Mengembalikan

Partial<Activity>

Aktivitas pesan yang dibuat.

Keterangan

Contoh ini menghasilkan teks pesan "Pilih warna: (1. merah, 2. hijau, atau 3. biru)":

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

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

Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah diformat sebagai daftar bernomor atau berpoin.

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

Parameter

choices

string | Choice[]

Daftar pilihan yang akan dirender.

text

string

(Opsional) teks pesan.

speak

string

(Opsional) SSML untuk berbicara untuk pesan.

options
ChoiceFactoryOptions

(Opsional) opsi pemformatan untuk mengubah penyajian daftar.

Mengembalikan

Partial<Activity>

Aktivitas pesan yang dibuat.

Keterangan

Contoh ini menghasilkan pesan dengan pilihan yang disajikan sebagai daftar bernomor:

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

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

Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah ditambahkan sebagai tindakan yang disarankan.

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

Parameter

choices

string | Choice[]

Daftar pilihan yang akan ditambahkan.

text

string

(Opsional) teks pesan.

speak

string

(Opsional) SSML untuk berbicara untuk pesan.

Mengembalikan

Partial<Activity>

Aktivitas dengan pilihan sebagai tindakan yang disarankan.

Keterangan

Contoh ini menghasilkan pesan dengan pilihan yang disajikan sebagai tombol tindakan yang disarankan:

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

toChoices(string | Choice[] | undefined)

Mengambil daftar campuran pilihan berbasis string dan Choice dan mengembalikannya sebagai Choice[].

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

Parameter

choices

string | Choice[] | undefined

Daftar pilihan yang akan ditambahkan.

Mengembalikan

Choice[]

Daftar pilihan.

Keterangan

Contoh ini mengonversi array sederhana pilihan berbasis string ke Choice[]yang diformat dengan benar.

Jika Choice memiliki Partial<CardAction> untuk Choice.action, .toChoices() akan mencoba mengisi Choice.action.

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