Memahami Tindakan di Botpress
Tindakan di Botpress adalah fungsi sisi server yang dijalankan oleh bot selama alur percakapan. Mereka memiliki kekuatan untuk mengubah keadaan percakapan, mengirim pesan yang disesuaikan, mengeksekusi kode arbitrer (seperti memanggil API atau menyimpan data), dan banyak lagi. Pada dasarnya, tindakan adalah fungsi JavaScript biasa yang berarti tindakan dapat melakukan hampir semua hal dalam batasan platform.
Ketika suatu tindakan dipanggil oleh Manajer Dialog (DM), tindakan tersebut menerima beberapa argumen yang memberikan konteks pada fungsi tersebut. Argumen ini mencakup atribut pengguna, variabel sesi, variabel sementara, variabel tingkat bot, peristiwa pengguna terbaru dalam percakapan, argumen yang diteruskan dari Visual Flow Builder, dan vm kotak pasir yang berisi beberapa variabel lingkungan.
Mendaftarkan Tindakan Baru
Untuk menambahkan tindakan bot khusus, Anda perlu membuat file JavaScript (.js) dan menempatkannya di data/global/tindakan folder dalam proyek Botpress Anda. Sayangnya, tidak ada cara untuk menambahkan tindakan baru secara terprogram selama runtime. Dengan menggunakan komentar JavaDoc dalam kode Anda, Anda dapat memberikan informasi bermakna tentang tindakan seperti nama, deskripsi, argumen, dan nilai defaultnya. Anda juga dapat menyembunyikan tindakan di editor alur dengan menambahkan tanda @hidden true di komentar JavaDoc.
Cara Membuat Tindakan Kustom di Botpress
Berikut beberapa langkah yang dapat Anda ikuti untuk membuat tindakan kustom di Botpress:
Langkah 1: Buat Bot Anda dan Tambahkan Node
Untuk memulai, buat bot baru di Botpress. Setelah bot Anda dibuat, tambahkan node baru ke alur percakapan.
Langkah 2: Tambahkan Pesan yang Sesuai ke Node Anda
Di node yang baru dibuat, tambahkan pesan yang diperlukan untuk memfasilitasi pertukaran konten dengan pengguna. Misalnya, Anda dapat menambahkan pesan teks untuk menyapa pengguna dan menanyakan namanya.
Langkah 3: Buka Kode Eksekusi dari Sidebar
Arahkan ke sidebar di Botpress Flow Builder dan buka “Editor kode”. Di sinilah Anda dapat membuat dan mengelola tindakan khusus Anda.
Langkah 4: Klik Tombol “Tambahkan Tindakan”.
Di bagian “Jalankan Kode”, klik tombol “Tambahkan Tindakan”. Tindakan ini membuka jendela “Buat action_legacy baru”.
Langkah 5: Tentukan Nama untuk File dan Klik Tombol Kirim
Di jendela “Buat action_legacy baru”, berikan nama yang bermakna untuk file tindakan kustom Anda; misalnya, customAction.js. Setelah Anda menentukan nama, klik tombol 'Kirim'. Ini menciptakan file “customAction.js”.
Langkah 6: Tulis Kode Kustom Anda
Buka file “customAction.js” yang baru dibuat. Di dalam file, Anda akan melihat kode boilerplate yang dihasilkan untuk tindakan baru. Berikan deskripsi yang bermakna untuk tindakan kustom Anda menggunakan komentar yang sesuai.
Sekarang, tulis kode khusus Anda di dalam fungsi tersebut. Kode ini menentukan perilaku tindakan kustom Anda. Anda dapat menggunakan JavaScript untuk melakukan berbagai tugas seperti melakukan panggilan API, mengakses database, atau menangani logika kompleks.
Langkah 7: Ubah Node Anda untuk Menggunakan Tindakan Kustom
Kembali ke Botpress Flow Builder dan ubah node tempat Anda ingin memicu tindakan kustom Anda. Tambahkan kartu “Jalankan Kode” ke node.
Langkah 8: Pilih Nama Tindakan Kustom Anda dan Tentukan Parameter Tindakan
Di kartu “Jalankan Kode”, Anda akan melihat daftar dropdown yang berisi nama semua tindakan kustom Anda. Pilih nama tindakan kustom Anda dari daftar. Jika tindakan kustom Anda memerlukan parameter apa pun, Anda dapat menentukannya di bagian “Parameter” pada kartu “Jalankan Kode”.
Langkah 9: Buat Bot Anda Melakukan Tindakannya
Terakhir, tambahkan kartu lain ke node untuk membuat bot Anda melakukan tindakan kustom. Anda dapat menggunakan variabel yang disimpan dalam peristiwa (ditentukan dalam kartu “Kode Eksekusi”) untuk mengakses hasil tindakan kustom Anda dan memasukkannya ke dalam respons bot.
Contoh Tindakan Kustom
Katakanlah Anda ingin chatbot Anda memberikan informasi cuaca terkini untuk lokasi tertentu. Anda dapat membuat tindakan kustom yang memanggil API cuaca dan mengembalikan data cuaca.
aksio const = memerlukan ( 'aksio' );const getWeather = asinkron ( pengguna , sesi, argumen) => {
lokasi const = args.lokasi || 'Baru York' ;
const apiKey = 'kunci_api_cuaca_Anda' ;
const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${lokasi}`;
mencoba {
const respon = menunggu axios.get(apiUrl);
const WeatherData = respon.data;
return `Cuaca saat ini di ${location} adalah ${weatherData.current.condition.text} dengan suhu ${weatherData.current.temp_c}°C.`;
} tangkapan (kesalahan) {
kembali 'Maaf, aku tidak bisa \' tidak mengambil informasi cuaca saat ini. Silakan coba lagi nanti.' ;
}
};
kembalikan getWeather( pengguna , sesi, argumen);
Tindakan ini memerlukan argumen tertentu termasuk pengguna, sesi, dan argumen yang menyediakan konteks dan data agar tindakan dapat digunakan. Dalam contoh ini, tindakan kustom “getWeather” mengambil lokasi sebagai argumen atau defaultnya adalah “New York” jika tidak disediakan. Tindakan ini memanggil Weather API menggunakan Axios, mengambil data cuaca, dan mengembalikan pesan yang berisi kondisi cuaca dan suhu.
Keuntungan Tindakan Kustom
Tindakan khusus di Botpress menawarkan beberapa keuntungan yang meningkatkan kemampuan dan fungsionalitas chatbot Anda:
- Mereka memperluas fungsionalitas chatbot melampaui kemampuan bawaannya.
- Mereka menciptakan interaksi yang disesuaikan untuk pengalaman pengguna yang lebih baik.
- Mereka mengambil data real-time dari API untuk respons dinamis.
- Mereka berintegrasi dengan sistem backend dan database.
- Mereka menangani skenario rumit dengan kode khusus.
- Mereka menggunakan kembali tindakan di chatbot dan alur.
- Mereka menerapkan penanganan kesalahan dan pencatatan khusus.
- Mereka mengoptimalkan tugas-tugas intensif sumber daya.
- Mereka memanfaatkan layanan eksternal untuk penskalaan.
- Mereka mengakses dan berbagi tindakan khusus yang telah dibuat sebelumnya.
Kesimpulan
Tindakan khusus di Botpress memperluas kemampuan chatbot, mempersonalisasi interaksi, dan mengintegrasikan API eksternal. Pengembang membuat fungsi JavaScript sisi server dan menjalankannya dari Botpress Flow Builder. Tindakan ini menawarkan penggunaan kembali kode, peningkatan kinerja, dan skalabilitas yang membuat chatbots menjadi alat yang lebih serbaguna dan canggih. Memanfaatkan tindakan khusus di Botpress menciptakan pengalaman chatbot yang inovatif dan menarik.