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
| for |
Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah diformat secara otomatis berdasarkan kemampuan saluran tertentu. |
| hero |
Membuat Aktivitas |
| inline(string | Choice[], string, string, Choice |
Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah diformat sebagai daftar sebaris. |
| list(string | Choice[], string, string, Choice |
Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah diformat sebagai daftar bernomor atau berpoin. |
| suggested |
Mengembalikan aktivitas 'pesan' yang berisi daftar pilihan yang telah ditambahkan sebagai tindakan yang disarankan. |
| to |
Mengambil daftar campuran pilihan berbasis |
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
static function heroCard(choices?: string | Choice[], text?: string, speak?: string): Activity
Parameter
- choices
-
string | Choice[]
Fakultatif. Daftar Pilihan
- text
-
string
Fakultatif. Teks pesan.
- speak
-
string
Fakultatif. Teks SSML yang akan diucapkan oleh bot pada saluran yang mendukung ucapan.
Mengembalikan
Activity
Aktivitas
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']);