
Flows adalah mesin otomatisasi drag-and-drop yang kuat untuk membuat alur komunikasi. Awalnya kami menganggapnya sebagai solusi tanpa kode, tetapi kami menemukan banyak pengguna dapat mendapatkan perilaku yang sangat kuat dengan menulis beberapa kode untuk kasus penggunaan spesifik. Potongan kode ini dapat berada di dalam Flow Builder, atau dapat berupa fungsi cloud pihak ketiga seperti fungsi AWS Lambda atau Google Cloud Functions.
Ini adalah demonstrasi sederhana menggunakan GoogleCloud Functions dan Flows untuk melakukan pengenalan gambar pada gambar yang dikirim di Telegram.
Flows dan Beyond
Sebagai pengembang Flows, saya sering berpikir siapa pengguna kami, mengapa mereka menggunakan Flows, dan apa yang mereka perlukan untuk mencapai tujuan mereka; dan kemudian, fitur mana yang perlu kami implementasikan untuk melayani pengguna tersebut sebaik mungkin.
Flows adalah mesin otomatisasi drag-and-drop yang kuat untuk membuat alur komunikasi. Awalnya kami merancangnya sebagai solusi tanpa kode, tetapi kami menemukan banyak pengguna dapat mendapatkan perilaku yang sangat kuat dengan menulis kode untuk kasus penggunaan tertentu. Bagian-bagian kode ini dapat berada di dalam Flows, atau bisa menjadi fungsi cloud pihak ke-3 seperti AWS Lambda atau Google Cloud Functions.
Kasus penggunaan menarik: Pengenalan Gambar
Sebagai contoh yang singkat dan lucu, saya akan menunjukkan kepada Anda cara mengimplementasikan aplikasi yang mengenali hot dog. Kami akan mengatur alur di Flows, yang akan menerima gambar dari pengguna dan memutuskan, apakah mereka mengirim hotdog atau tidak.
Bagi banyak pelanggan kami, jenis pengenalan gambar ini bisa sangat kuat. Bayangkan Anda menjalankan layanan pengiriman dan ingin memverifikasi pengiriman yang sukses secara otomatis. Mirip dengan apa yang akan saya tunjukkan, Anda dapat menggunakan data lokasi, foto paket, dan bahkan tanda tangan penerima untuk membuat alur verifikasi di Flows.
Sebuah rencana untuk sukses
Menyiapkan Google Cloud Function
Pertama, kita perlu mengatur fungsi cloud. Untuk memulai dengan cepat, buat fungsi cloud menggunakan tutorial ini: https://cloud.google.com/functions/docs/quickstart-console. Sebagai 'Pemicu' pilih pemicu HTTP, lingkungan eksekusi: Node.js 10, dan di bidang kode sumber masukkan potongan kode. Ini adalah kode sederhana, yang memeriksa apakah permintaan berisi kode JSON dan menjawab ya atau tidak.

Selanjutnya, Anda perlu menerapkan fungsi ini. Untuk mengujinya di dalam Google Cloud Platform, ikuti langkah-langkah dari tutorial tersebut.
Untuk menguji dari browser Anda, buka URL berikut dengan memasukkan alamat spesifik untuk fungsi Anda:
https://your-function-address.cloudfunctions.net/HotDogOrNot/?url=hello
seharusnya mengembalikan {“isHotDog”: true} dan alamat https://your-function-address.cloudfunctions.net/HotDogOrNot
seharusnya mengembalikan {“isHotDog”: false}.
Kerja bagus! Anda telah mengatur fungsi cloud google. Sekarang kita perlu membuat fungsi cloud kita lebih pintar.
Menyiapkan Google Vision API
Untuk membuatnya lebih pintar, mari tambahkan pengenalan gambar. Untuk tujuan ini, kita akan menggunakan Google Vision API. Untuk memulai, ikuti langkah 1-4 dari tutorial ini: https://cloud.google.com/vision/docs/quickstart-client-libraries. Dalam tutorial, Anda akan mengaktifkan Vision API dan membuat akun layanan untuk menggunakannya.
Sekarang kembali ke fungsi cloud yang Anda buat. Aktifkan "Environment variables, networking, timeouts and more" dan dalam file "Service account" pilih akun layanan VisionAPI yang baru saja Anda buat. Sekarang kita dapat mengakses Vision API di dalam fungsi kita.

Sekarang mari kita ubah kode. Pada tab "Package.json", masukkan kode ini. Ini akan menambahkan pustaka Google Vision API sebagai ketergantungan untuk fungsi Anda.
pada tab "Index.js" perbarui kode yang ada dengan cuplikan kode berikut.

Apa perbedaannya dibandingkan dengan versi sebelumnya? Kami menambahkan permintaan ke VisionAPI, yang mengembalikan ‘labels’ yang ditemukan pada gambar. Kemudian kita menyaring label ini berdasarkan deskripsi: jika mengandung “hot dog” dan jika memiliki kepercayaan lebih dari 60% pada label tersebut. Jika ada setidaknya 1 label tersisa setelah disaring, itu berarti kita menemukan hotdog pada gambar.
Untuk memahami bagaimana Google VisionAPI bekerja dan seperti apa responnya, periksa dokumentasi mereka, https://cloud.google.com/vision/docs
Setelah itu, terapkan versi baru dari fungsi kita. Untuk mengujinya dari browser Anda, temukan gambar hotdog dan simpan URL-nya. Sekarang pergi ke URL fungsi Anda (masukkan alamat yang benar untuk fungsi Anda) https://your-function-address.cloudfunctions.net/HotDogOrNot?url=url_to_image
dan ganti “url_to_image” dengan URL dari gambar yang ditemukan tersebut. Jika ada hotdog dalam gambar, halaman akan mengembalikan {“isHotDog”: true}.
Sekarang mari hubungkan fungsi ini ke Flow Builder.
Membuat sebuah flow di Flows
Masuk ke dalam Dashboard Bird atau daftar akun jika Anda belum memilikinya.
Jika Anda baru di Flows dan belum memiliki saluran yang diatur, Anda perlu pergi ke halaman pengaturan Saluran, dan pilih untuk mengatur saluran Telegram. Saya memilih Telegram untuk demo ini karena mudah dan cepat untuk diatur.

Sekarang Anda memiliki saluran yang dapat kita gunakan di Flows. Pergi ke halaman Flows, buat alur kustom baru, dan pilih pemicu saluran “Telegram”.

Anda akan dialihkan ke halaman alur, di mana Anda harus memilih saluran Telegram Anda sebagai pemicu, dalam kasus kami adalah “Hotdog”. Silakan tambahkan 2 langkah: “Fetch variables” dan “Reply to channel message”.
Di dalam langkah “Fetch variables” kami akan memanggil fungsi cloud kami dan mengambil respons ke dalam variabel “isHotDog” yang akan berisi “true” atau “false” sebagai respons dari fungsi GoogleCloud. Di bidang URL silakan masukkan URL ke fungsi Anda https://your-function-address.cloudfunctions.net/HotDogOrNot
dan isi semua bidang lainnya seperti pada gambar "Fetch variable step content".
Dan di dalam langkah “Reply to channel message” kami akan merespons pelanggan dengan pesan yang berisi jawaban ya atau tidak. Untuk itu masukkan di bidang "Reply with message" teks berikut "Hotdog pada gambar? {{isHotDog}}".


Jika Anda mengalami kesulitan membangun alur, Anda dapat menggunakan cuplikan berikut:

Untuk mengujinya, kirim gambar ke bot Telegram Anda.
Sejauh ini, terlihat keren! Kami menciptakan bot obrolan kecil, yang memeriksa gambar yang dikirim pelanggan. Untuk membuatnya lebih menarik, mari kita tambahkan beberapa langkah lagi seperti yang ditunjukkan di bawah ini:

Jika Anda mengalami kesulitan membangun alur, Anda dapat menggunakan cuplikan berikut:
Hasil


Walaupun ini adalah contoh yang menyenangkan, kami percaya bahwa jenis fungsionalitas ini dapat sangat berguna bagi pengguna kami.
Jika Anda menginginkan fitur seperti ini yang terintegrasi di Flows, tulislah kepada tim dukungan kami untuk memberi tahu kami.