Cara menggunakan pembolehubah
Mari kita terokai apa itu pembolehubah dan cara menggunakannya dengan berkesan semasa membina chatbot di MaviBot.
Sila ambil perhatian tentang had sistem berikut untuk pembolehubah dan pemalar dalam satu projek:
Pembolehubah Templat:
- Kuantiti maksimum: 100 pembolehubah
- Panjang nama maksimum: 100 aksara
Pemalar projek:
- Kuantiti maksimum: 50 pemalar
- Panjang nama maksimum: 100 aksara
- Panjang nilai maksimum: 5,000 aksara
Pembolehubah ialah lokasi storan bernama untuk data, dikenal pasti oleh label teks unik.

Rajah 1: Pembolehubah bernama total, menyimpan jumlah pembayaran.
MaviBot menyediakan beberapa jenis pembolehubah:
- Pembolehubah terbina dalam
- Pembolehubah sistem
- Pembolehubah yang ditentukan pengguna — ini adalah yang anda buat sendiri dalam projek.
Untuk mengisytiharkan pembolehubah bermaksud memberikan nilai kepada bekas bernama. Dengan kata lain, pernyataan seperti a=0 ialah pengisytiharan pembolehubah a. Kami baru sahaja memberitahu (mengisytiharkan kepada) pembina bahawa kami akan menyimpan nombor dalam pembolehubah a, dan buat masa ini, nilai itu ialah 0.
Untuk memberikan nilai kepada pembolehubah membawa maksud yang sama.
Ungkapan "berikan pembolehubah nilai fungsi" atau "tetapkan pembolehubah sama dengan fungsi" juga biasa digunakan. Prinsipnya sama: daripada memberikan nilai tertentu, anda memberikan hasil fungsi. Contohnya: s_id = tg_send_message(platform_id, "Hello!") Dalam kes ini, hasil fungsi akan disimpan dalam pembolehubah.
Untuk menetapkan semula pembolehubah bermaksud memberikannya nilai 0.
Fungsi dan kaedah ialah set arahan yang telah ditetapkan yang dikonfigurasikan terlebih dahulu oleh MaviBot. Kebanyakan fungsi memerlukan parameter - nilai yang boleh difahami oleh fungsi atau kaedah. Sebaik sahaja bot menerima parameter yang diperlukan, ia melaksanakan arahan tertentu.
tg_send_message(platform_id, "Hello!") — fungsi ini menghantar mesej "Hello!" dalam Telegram.

PERATURAN BEKERJA DENGAN PEMBOLEHUBAH:
-
Nama pembolehubah hanya boleh bermula dengan huruf; ia tidak boleh bermula dengan nombor.
Age1 - ✅ betul
1Age - ❌ salah
age1 - ✅ betul - pilihan disyorkan
-
Pembolehubah tidak boleh mengandungi ruang atau aksara khas, kecuali garis bawah (_).
Name_Surname - ✅ betul
Name Surname - ❌ salah
nameSurname - ✅ betul - pilihan disyorkan
Perkataan terpelihara daripada bahasa pengaturcaraan tidak boleh digunakan sebagai nama pembolehubah, contohnya: print, true, false, count, sum, dan sebagainya.
-
Adalah dilarang sama sekali untuk menggunakan nama pembolehubah terbina dalam dan sistem untuk pembolehubah yang ditentukan pengguna. Anda boleh mencari senarai pembolehubah tersebut di sini. pautan
-
Kami mengesyorkan:
- Gunakan nama Latin (Inggeris) untuk pembolehubah.
- Gunakan nama pembolehubah yang pendek tetapi bermakna, contohnya: totalSum, pay_name, ns, name_client, dsb.
Cara mendapatkan nilai pembolehubah
Letakkan nama pembolehubah di dalam kurungan kerinting #{}. Anda boleh merujuk nilainya dalam medan teks mesej dengan cara ini. Walau bagaimanapun, dalam medan "Kalkulator", anda harus merujuk kepada nilai pembolehubah hanya dengan namanya, tanpa sebarang sintaks tambahan.
Binaan #{} membolehkan anda mendapatkan semula nilai pembolehubah. Ia digunakan dalam medan "Teks mesej" untuk memasukkan nilai pembolehubah ke dalam teks.
Contoh:

Sistem menyokong pembolehubah bersarang, di mana nilai satu pembolehubah adalah sebahagian daripada nama pembolehubah lain. Contohnya: #{q#{test#{i}}}
Dalam medan "Kalkulator", rujuk pembolehubah dengan namanya tanpa menggunakan notasi #{}.
Sebagai contoh, jika kita mempunyai dua pembolehubah: price (jumlah) dan quantity (bilangan).
num = 10
sum = 1500

Cara memaparkan jumlah keseluruhan
Masukkan yang berikut dalam kalkulator:
total_sum = sum1 * num2 ✅ betul

Cara tidak melakukannya:
total_sum = #{sum1} * #{num2} - ❌ salah
Cara memadam pembolehubah daripada bot
Untuk memadam (mengosongkan) pembolehubah, masukkan salah satu daripada yang berikut dalam medan "Kalkulator":
NamaPembolehubahAnda =
atau
NamaPembolehubahAnda = ""
Selepas tanda sama, sama ada tinggalkan ruang atau gunakan tanda petikan berganda (atau tunggal).
Sila ambil perhatian! Adalah penting untuk menggunakan awalan yang betul untuk menunjukkan di mana pembolehubah itu berada.
Untuk pembolehubah peringkat projek (disimpan dalam tetapan projek), gunakan awalan project:
Contoh:
project.NamaPembolehubahAnda =
atau
project.NamaPembolehubahAnda = ""Untuk pembolehubah peringkat pelanggan, gunakan awalan client:
Contoh:
client.NamaPembolehubahAnda = atau
client.NamaPembolehubahAnda = ""Untuk pembolehubah peringkat urusan, tiada awalan diperlukan.
Pembolehubah terbina dalam
Berikut ialah senarai pembolehubah terbina dalam:
#{none} - abaikan mesej
#{api_key} - token API yang digunakan dalam panggilan API Mavibot
#{attachment_url} - mengandungi pautan ke lampiran
#{attachments} - tatasusunan JSON URL lampiran daripada mesej pengguna
#{avatar} - pautan ke avatar pengguna (ditunjukkan dalam bahagian "Pelanggan")
#{client_id} - ID pelanggan dalam pembina, juga digunakan dalam permintaan API
#{client_type} - jenis utusan yang datang daripada pelanggan (nilai diterangkan [di sini])
#{current_date} - tarikh semasa dalam format dd.mm.yyyy, berdasarkan zon waktu projek
#{current_time} - masa semasa dalam format hh:mm, berdasarkan zon waktu projek
#{custom_answer} - respons yang diterima daripada pelayan yang dinyatakan dalam medan "URL respons pelayan"
#{message_from_outside} - jenis mesej masuk. Nilai yang mungkin:
&#xNAN;mesej biasa = 0
mesej dihantar melalui API = 1
pemberitahuan panggilan balik (latar belakang kuning dalam dialog) = 3
pemberitahuan telefon (latar belakang biru muda dalam dialog) = 5
Pembolehubah ini dijana dengan setiap mesej masuk tetapi tidak muncul dalam kad pelanggan.
Anda boleh menggunakannya dalam medan "Pembolehubah untuk perbandingan" untuk menyediakan syarat untuk pencetus blok dan sambungan.
#{date_of_creation} - tarikh apabila pengguna ditambahkan pada bot atau menghantar mesej kepadanya buat kali pertama
#{full_name} - nama penuh pengguna (nama pertama dan nama keluarga)
#{group} - bot yang dipautkan oleh pelanggan (ditunjukkan sebagai "Dipautkan ke bot" dalam kad pelanggan)
#{main_client_id} - ID pelanggan utama dalam kalangan kumpulan kad pelanggan yang dipautkan
#{message_id} - ID keadaan perbualan semasa dengan pelanggan (lalai kepada NONE)
#{messenger} - nama utusan yang datang daripada pelanggan
#{name} - nama pertama pengguna
#{next_day} - tarikh esok dalam format dd.mm.yyyy (berguna untuk menjadualkan mesej)
#{order_id} - pengecam pesanan (ID pelanggan dan ID pesanan dalaman dipisahkan oleh tanda sempang)
#{order} - kandungan pesanan yang dikemukakan oleh pengguna
#{platform_id} - ID pelanggan dalam platform pemesejan
#{question} - mesej yang dihantar oleh pengguna
#{timestamp} - cap masa semasa termasuk milisaat
#{time_of_creation} - masa apabila pengguna ditambahkan pada bot atau menghantar mesej kepadanya buat kali pertama
#{wa_bot} - nombor WhatsApp yang dihantar mesej oleh pengguna (berguna untuk dihantar ke medan CRM dan mengagihkan petunjuk di kalangan pengurus)
#{weekday} - hari dalam minggu sebagai nombor (Isnin = 1, Selasa = 2, dsb.)
nilai client_type
Pembolehubah sistem
Sistem secara automatik menjana pelbagai pembolehubah masa jalan semasa operasi bot. Anda boleh menggunakan pembolehubah ini semasa membina bot anda. Berikut ialah senarai yang mungkin berguna kepada anda.
Anda boleh mencari pembolehubah sistem tambahan dalam dokumentasi. Ia terletak dalam bahagian yang berkaitan dengan penggunaannya.
phone - nombor telefon
notSubscribed - jika pembolehubah sama dengan 1, pelanggan telah berhenti melanggan mesej dan tidak akan menerima sebarang mesej
clientBlocked - pelanggan disekat, dan bot tidak beroperasi untuk mereka
story_url - pengecam cerita Instagram yang dibalas oleh pelanggan
viewed_page - halaman dari mana pengguna menulis dalam sembang dalam talian
wa_bot - nombor telefon bot WhatsApp
Untuk mengetahui pembolehubah yang boleh dibuat semasa pembayaran, rujuk panduan penyepaduan untuk perkhidmatan pembayaran dalam bahagian "Sistem pembayaran".
Pembolehubah tersuai
Pembolehubah tersuai dibahagikan kepada:
- Pembolehubah projek (juga dipanggil pembolehubah biasa)
- Pembolehubah pelanggan
- Pembolehubah urusan (juga dipanggil pembolehubah biasa)
- Pemalar
Setiap jenis pembolehubah akan diterangkan di bawah.
Sila elakkan menggunakan nama yang sama untuk jenis pembolehubah yang berbeza untuk mengelakkan kekeliruan apabila Pembina memaparkan atau menggunakan nilai selain daripada yang anda jangkakan.
Apabila memberikan nilai kepada pembolehubah, adalah penting untuk menentukan jenisnya dengan menggunakan awalan yang sesuai:
client. (untuk pembolehubah pelanggan) dan project. (untuk pembolehubah projek). Tiada awalan digunakan untuk pembolehubah urusan.
Awalan ditinggalkan apabila mendapatkan semula nilai pembolehubah.
Contoh:
Bayangkan anda ingin mencipta pembolehubah projek bernama like untuk berfungsi sebagai kaunter suka daripada pelanggan anda.project.like = 0 - pengisytiharan, dilakukan sekali
Dalam blok di mana anda perlu mengira suka, tulis:
project.like = like + 1
Keutamaan pembolehubah:
pembolehubah urusan mempunyai keutamaan tertinggi, diikuti oleh pembolehubah pelanggan, kemudian pembolehubah projek.
ID Utusan (platform_id)
ID Utusan (platform_id) ialah pengecam pengguna/sembang/saluran dalam utusan. Untuk mencarinya, buka perbualan dengan pelanggan yang dikehendaki dalam bahagian "Pelanggan". Di sebelah kanan tetingkap sembang, navigasi ke tab "Mengenai pelanggan - Pembolehubah sistem" atau tab "Semua".
platform_id ialah pembolehubah kekal yang dijana sistem yang mewakili ID utusan unik pengguna.
-
Kekekalan: ID ini kekal malar untuk pengguna. Walaupun anda memadamkan rekod mereka daripada pembina,
platform_idmereka akan sama semasa pendaftaran semula. - Asal: ID diberikan oleh platform utusan (cth., Telegram, WhatsApp) apabila pengguna mula-mula berinteraksi dengan bot.
Contoh berikut menunjukkan bagaimana platform_id muncul dalam kad pelanggan.

Pembolehubah platform_id wujud untuk pengguna biasa serta untuk komuniti, saluran dan sembang.
Untuk mendapatkan platform_id (ID utusan) saluran Telegram di mana bot adalah pentadbir, hanya hantar mesej ke saluran daripada akaun peribadi anda. Ini secara automatik akan mencipta dialog antara bot dan saluran.
Anda boleh menyalin nilai platform_id saluran dalam bahagian "Mengenai pelanggan".
Dalam Telegram, ID utusan untuk saluran sentiasa bermula dengan tanda tolak (-). Apabila menggunakan fungsi, pastikan anda memasukkan keseluruhan nilai, termasuk tanda tolak.
Cara menggunakan pembolehubah
Pembolehubah boleh digunakan dalam pencetus, pesanan, respons pengguna, blok dan banyak lagi. Mari lihat contoh konkrit sambil mencipta corong untuk agensi hartanah.
Jadi, mari kita cipta blok Mula:

Langkah 1: Cipta blok "Terima kasih"
Cipta blok baharu dengan mesej mengucapkan terima kasih kepada pengguna atas input mereka.
Langkah 2: Konfigurasikan peralihan
Pada sambungan yang menuju ke blok ini, konfigurasikan pencetus berikut:
- Dayakan togol "Pengguna memasukkan data".
- Dalam medan "Data input", masukkan nama pembolehubah:
name.

Input pengguna disimpan dalam pembolehubah Name. Nilai ini boleh digunakan semula dalam mana-mana blok berikutnya dengan memanggil pembolehubah menggunakan sintaks #{Name}, seperti: Selamat datang, #{Name}!.

Bot akan berfungsi seperti berikut:

Sekarang mari kita jadikan tugas sedikit lebih kompleks.
Dalam blok yang sama ini, kita akan bertanya kepada pengguna sama ada dia berminat dengan perumahan utama (baharu) atau perumahan sekunder (jualan semula):

Seterusnya, cipta sambungan daripada butang "Perumahan utama" dan "Perumahan sekunder" dalam blok "Sembang".

Sekarang mari lihat cara kedua untuk menggunakan pembolehubah dalam blok.
Pilih blok kanan dan masukkan teks berikut dalam medan "Kalkulator":
client_interest = Perumahan utama. Dalam blok kiri, masukkan:
client_interest = Perumahan sekunder.


Pembolehubah diberikan kepada pengguna apabila mereka beralih ke mana-mana blok ini. Kita boleh menggunakannya kemudian semasa membuat pesanan.
Seterusnya, kita akan bertanya kepada pelanggan tentang belanjawan mereka untuk membeli hartanah dalam blok ini, dan cipta dua lagi blok dengan anak panah menuju ke mereka berdasarkan pencetus respons pelanggan.




Dari blok "Berapakah belanjawan anda?", cipta sambungan dan tetapkan syarat pencetus untuk membahagikan pengguna berdasarkan input mereka.
- Dalam tetapan sambungan, dayakan kotak semak untuk "Pengguna memasukkan data".
- Berikan nama pembolehubah (cth.,
budget) untuk menyimpan respons pelanggan. - Dalam medan "Pembolehubah", gunakan pembolehubah terbina dalam
#{question}(yang mengandungi mesej terakhir pengguna) untuk mencipta syarat.-
Contoh:
#{question} <= 1000000
-
Contoh:

Untuk semua sambungan ke blok "Petunjuk", aktifkan "Pengguna memasukkan data" dan tentukan pembolehubah.
Anda juga boleh menentukan pembolehubah tambahan terus dalam blok "Petunjuk" untuk memberikan maklumat urusan yang lebih komprehensif.

Sekarang tukar jenis dua blok terakhir kepada "Petunjuk" dan lihat hasilnya:
Mari uji aliran dalam tindakan:

Anda boleh menyemak urusan yang dibuat dan data tersimpan pelanggan dengan pergi ke bahagian "Pelanggan" dan membuka perbualan yang berkaitan. Pembolehubah urusan akan kelihatan di sana.

Sekarang anda tahu cara menggunakan pembolehubah dalam sekurang-kurangnya tiga cara berbeza:
- Berikan nama pembolehubah kepada data input pengguna (cth., "Nama", "Belanjawan")
- Berikan nilai pembolehubah apabila beralih ke blok (cth., client_interest = Perumahan utama)
Cara melihat pembolehubah
Untuk melihat pembolehubah pelanggan, navigasi ke bahagian "Pelanggan" dan buka kad pelanggan mereka.

Pembolehubah dipaparkan dalam format senarai dalam kad pelanggan:
- Setiap pembolehubah menduduki barisnya sendiri.
- Nama pembolehubah ditunjukkan di sebelah kiri.
- Nilai yang sepadan dipaparkan di sebelah kanan.
Untuk mengubah suai pembolehubah:
Tuding di atas barisnya dalam senarai untuk mendedahkan butang tindakan. Mengklik butang ini membolehkan anda:
- Mengedit nama pembolehubah.
- Mengedit nilai pembolehubah.
- Memadam pembolehubah sepenuhnya.


Pembolehubah sistem tidak boleh diedit!
Cara menetapkan pembolehubah pelanggan
Pembolehubah pelanggan tidak dipadam, ditetapkan semula atau hilang apabila menggunakan blok "Tamat pengumpulan data" (blok merah).
Pembolehubah pelanggan boleh ditetapkan dalam dua cara: secara eksplisit dan implisit.
Cara eksplisit untuk menentukan pembolehubah ialah menetapkannya dalam medan "Kalkulator" salah satu blok corong.
Contoh: client.age = 28 atau client.age = 28:

Cara implisit ialah menetapkan pembolehubah dalam medan input data anak panah.
Contoh:
Mari kita cipta blok di mana kita bertanya nama pelanggan, dan juga cipta blok di bawah:

Seterusnya, navigasi ke tetapan sambungan dan dayakan pilihan "Pengguna memasukkan data".

Gunakan awalan client. semasa menamakan pembolehubah anda (cth., client.name) untuk menyimpan input pengguna. Pembolehubah ini kemudiannya boleh dirujuk dalam mesej kemudian sebagai #{client.name}.

Pembolehubah pelanggan digunakan sama seperti pembolehubah biasa dalam pembina, tetapi tanpa awalan client.
Cara menetapkan pembolehubah projek
Pembolehubah global tidak dipadam, ditetapkan semula atau hilang apabila menggunakan blok "Petunjuk" (blok merah).
Pembolehubah global boleh diakses oleh semua pengguna bot. Ia sesuai untuk mengawal tingkah laku bot atau memudahkan interaksi antara pengguna yang berbeza.
Contoh kes penggunaan:
Seorang pengguna boleh menyiarkan item dalam saluran pasaran dengan menetapkan pembolehubah (cth., project.latest_listing), dan semua pengguna lain boleh melihatnya dan bertindak balas.
Sintaks untuk tugasan
Untuk mencipta atau mengemas kini pembolehubah global, gunakan awalan project. dalam Kalkulator:
Contoh:
project.product_shop = 28project.age = 28

Ia boleh digunakan tanpa sebarang awalan.
Mari lihat bagaimana data dipaparkan dalam jadual.

Sekarang, laksanakan blok "Mula" dalam mod ujian.

Kita boleh melihat data yang ditulis ke pembolehubah daripada jadual dalam mesej yang dihantar oleh bot. Kerana kami merujuk pembolehubah dalam mesej menggunakan sintaks #{}, data yang disimpan di dalamnya dipaparkan dalam sembang bot.
Butiran lanjut tentang cara bekerja dengan fungsi get_records_from_table() diterangkan dalam artikel "Pembantu AI dengan jadual MaviBot".
Awalan project. membenarkan fungsi menulis data jadual terus ke pembolehubah global projek, boleh diakses dalam bahagian "Pembolehubah".

Anda boleh mengedit pembolehubah projek dalam tetapan projek.
Contoh: menggunakan pembolehubah projek
Cipta sistem yang memberikan nombor berurutan kepada setiap pelanggan baharu yang memasuki bot.
Pelaksanaan:
- Navigasi ke Tetapan projek anda.
- Cipta pembolehubah projek baharu (cth.,
project.client_counter).


- Tetapkan nilai awalnya (cth.,
0) yang bermaksud "Tiada pelanggan dalam bot":



Dalam blok permulaan bot, tambah logik yang:
- Menambah nilai pembolehubah projek sebanyak 1.
- Memberikan nilai baharu kepada pembolehubah khusus pelanggan untuk pengguna semasa.

Jangan lupa tetapkan sekatan supaya kaunter tidak boleh ditambah untuk pelanggan yang sama dua kali.

Cara menetapkan pembolehubah pemalar
Pemalar ialah nilai tetap yang kekal tidak berubah (atau jarang berubah) sepanjang kitaran hayat projek.
Perbezaan utama daripada pembolehubah global:
Tidak seperti pembolehubah global, pemalar adalah khusus pelanggan. Jika nilai pemalar diubah suai, perubahan itu hanya terpakai pada sesi pelanggan individu itu.
Kes penggunaan biasa:
Pemalar sesuai untuk menyimpan data statik seperti:
- Harga produk dan diskaun pelanggan
- Token penyepaduan dan kunci API
- Maklumat hubungan penjual atau sokongan
- Sebarang nilai konfigurasi tetap lain
Contoh: menggunakan pembolehubah pemalar
Sebagai contoh, diskaun pelanggan boleh menjadi 10% secara lalai, tetapi berubah kepada 25% apabila memasukkan kod promosi.
Dalam "Tetapan projek" → "Pemalar", masukkan: Diskaun : 10

Untuk memasukkan kod promosi, tambah blok "Pencetus", di mana kami memberikan pembolehubah discount nilai 25.

Paparkan pembolehubah yang menunjukkan jumlah diskaun dalam blok hijau:

Langkah 1: Konfigurasikan peralihan automatik
Cipta sambungan dengan pemasa sifar saat dari blok kelabu. Ini memastikan diskaun digunakan serta-merta dan pelanggan meneruskan ke mesej dalam blok mula.
Langkah 2: Uji aliran
Sekarang, tulis mesej kepada bot untuk mencetuskan dan menguji keseluruhan urutan.

Diskaun standard ialah 10% tanpa kod promosi. Walau bagaimanapun, memasukkan kod promosi yang sah mengubah keadaan.

Oleh itu, selepas memasukkan kod promosi, pembolehubah "discount" untuk pelanggan ini menjadi 25.
Ini berlaku kerana tugasan seperti discount = 25 menetapkan nilai untuk pembolehubah urusan, bukannya menukar nilai pemalar dengan nama yang sama.
Pembolehubah urusan utama
name - nama urusan. Istilah Name digunakan untuk versi antarabangsa projek.
description - penerangan urusan. Description digunakan dalam versi antarabangsa projek
budget - jumlah urusan (nombor).
Untuk mengedit pembolehubah menggunakan permintaan API /set_order_vars, anda mesti menggunakan nama daripada panduan ini tepat seperti yang ditunjukkan, termasuk sensitiviti huruf besar dan versi projek.
Had
Panjang nama pembolehubah maksimum: 500 aksara
Panjang nilai pembolehubah maksimum: 100,000 aksara
Bilangan maksimum pembolehubah setiap pelanggan atau urusan: 1,000 aksara.
Cara bekerja dengan pembolehubah dengan betul
Bilakah anda harus melampirkan nilai pembolehubah dalam tanda petikan?
Contohnya, client_id = 1202020202 atau client_id = '1202020202'?
Kedua-dua pilihan sintaks adalah betul dari segi fungsi. Menggunakan tanda petikan di sekeliling nilai hanya mempengaruhi penyerlahan visualnya dalam editor kalkulator.
Walau bagaimanapun, mengikut konvensyen pengekodan yang konsisten meningkatkan kebolehbacaan dan kebolehselenggaraan:
-
Tinggalkan petikan untuk nilai angka (cth.,
discount = 25). -
Gunakan petikan untuk nilai rentetan (cth.,
status = "active").



Apakah sintaks yang betul untuk menghantar pengecam seperti ID Pelanggan, ID Tapak, ID Blok atau ID Sijil kepada fungsi—patutkah ia dilampirkan dalam tanda petikan?

ID tidak boleh dilampirkan dalam tanda petikan apabila dihantar ke kaedah atau fungsi:

Yang manakah harus digunakan: petikan berganda atau petikan tunggal?
Tiada perbezaan antara menggunakan petikan tunggal atau berganda, tetapi kami mengesyorkan menggunakan petikan berganda. Dengan cara ini, sebagai contoh, apabila memasukkan pembolehubah di dalam rentetan, pembolehubah akan diserlahkan dalam warna yang berbeza, menjadikannya lebih mudah untuk diperhatikan.

Bagaimanakah ruang harus diletakkan?
Adakah ia berfungsi sama jika terdapat ruang antara pembolehubah dan tanda sama (contohnya, ans="yes", ans = "yes", ans= "yes", ans ="yes"?

Jarak tidak menjejaskan operasi kaedah, pembolehubah atau fungsi. Walau bagaimanapun, adalah disyorkan untuk menggunakan ruang dalam kod untuk meningkatkan kebolehbacaan.
Cara menulis komen dalam kalkulator dengan betul
Untuk butiran lanjut tentang cara menulis komen dalam Kalkulator, sila lihat artikel ini.
Cara membandingkan pembolehubah
Anda boleh mengawal aliran chatbot dengan membandingkan nilai pembolehubah. Ini membolehkan anda mencipta logik bersyarat, seperti mengesahkan umur pengguna untuk pematuhan undang-undang atau mengarahkan interaksi berdasarkan platform utusan pengguna.
Berikut ialah cara membahagikan corong mengikut utusan yang berbeza atau mengikut akaun berbeza utusan yang sama diterangkan di sini.
Pengendali yang disokong:
"+": penambahan
"-"': penolakan
"*" pendaraban
"/": pembahagian
"%'": baki pembahagian
"^" "**": eksponen
"and" "AND" "&&": DAN logik
"or" "OR" "||": ATAU logik
Pengendali perbandingan:
"==" — sama dengan
"!=" — tidak sama dengan
">" — lebih besar daripada
"<" — kurang daripada
">=" — lebih besar daripada atau sama dengan
"<=" — kurang daripada atau sama dengan
PENTING!
Untuk menyemak bahawa tag pembolehubah terbina dalam (tag pelancaran bot) tidak hadir dalam kad pelanggan, gunakan kaedah perbandingan berikut:
tag == "NONE"
Pembolehubah harus dibandingkan dalam keadaan dalam medan "Pembolehubah" (kedua-duanya dalam tetapan sambungan dan dalam tetapan blok):
Contoh perbandingan pembolehubah dalam medan "Pembolehubah" blok pencetus.

Contoh perbandingan pembolehubah dalam medan "Pembolehubah" sambungan blok.

Bagaimana pembolehubah dan pencetus berfungsi bersama
Untuk sambungan diaktifkan, kedua-dua pencetus mesti dipenuhi:
- Keadaan dalam medan "Pencetus".
- Logik perbandingan dalam medan "Pembolehubah".
Memahami medan "Pembolehubah"
Jika anda hanya memasukkan nama pembolehubah (cth., client_type) dalam medan "Pembolehubah" tanpa ungkapan, sistem menyemak kewujudan atau kebenaran nilai pembolehubah. Ia tidak membandingkannya dengan input mentah pengguna.
Contoh:
Konfigurasi di bawah menyemak sama ada pelanggan dari WhatsApp dengan mengesahkan bahawa pembolehubah client_type sama dengan 6 (di mana 6 mewakili WhatsApp).
client_type == 6

Contoh di bawah berfungsi sama:

Sila ambil perhatian!
Anda tidak boleh menentukan berbilang nilai untuk perbandingan pembolehubah dalam medan "Pencetus".Ini tidak betul!
Jika anda perlu membandingkan berbilang pembolehubah, tentukan nilainya dalam medan "Pembolehubah".
Pilihan ini betul.
client_type == 3 peralihan jika nilai pembolehubah sama dengan 3
attachments != None peralihan jika pembolehubah mengandungi sebarang nilai
attachments == None peralihan jika pembolehubah tidak ditetapkan
product_quantity >= 100 peralihan jika kuantiti produk lebih besar daripada atau sama dengan 100
product_quantity <= 100 peralihan jika kuantiti produk kurang daripada atau sama dengan 100
name == "John" peralihan jika nama pembolehubah sama dengan JohnUntuk menyemak sama ada pembolehubah kosong atau tidak, gunakan ungkapan:
&#xNAN;"#{value}" == ""
"#{value}" != ""(di mana value ialah nama pembolehubah).
Hasil operasi perbandingan mengembalikan nilai boolean: True atau False.
Panjang ungkapan maksimum: 1000 aksara
Nilai lalai akan dikembalikan sebagai hasil apabila cuba membandingkan nilai jenis yang berbeza.
"==" - False "<" - False
"!=" - True ">=" - False
">" - False "<=" - False
PENTING!
Untuk menyemak bahawa tag pembolehubah terbina dalam (tag pelancaran bot) tidak hadir dalam kad pelanggan, gunakan kaedah perbandingan berikut:
tag == "NONE"
Contoh: bot yang menyemak umur pengguna (age).
- Jika
age < 18, ia menghantar mesej untuk bawah umur. - Jika
age >= 18, ia menghantar mesej untuk dewasa.


Perhatikan bahawa aliran termasuk blok tanpa pencetus, dengan sambungan bermasa menuju daripadanya.
Blok ini sengaja direka untuk menunjukkan cara membina aliran di mana bot bertindak balas bukan kepada tindakan pengguna, tetapi kepada hasil pengiraan. Pada langkah pertama, jawapan disimpan ke pembolehubah, dan kemudian perbandingan berlaku. Kelewatan pada anak panah ditetapkan kepada 0 untuk respons segera.
Perbandingan "Age >= 18" juga boleh dinyatakan sebagai "lebih besar daripada atau sama dengan 18."

Sila ambil perhatian tentang ralat dalam pencetus:
Nombor tidak boleh serentak lebih besar daripada, kurang daripada, dan sama dengan 18!
Pencetus ini tidak bermakna. Setiap nombor sama ada kurang daripada 18, lebih besar daripada 18, atau sama dengan 18.
Penting!
Pencetus logik dengan pembolehubah mesti ditulis dalam medan "Pembolehubah", bukan dalam medan "Pencetus"!
Sebagai contoh, dalam imej di bawah, blok akan dicetuskan jika pembolehubah phone diisi (iaitu, tidak sama dengan None):

Contoh seterusnya menunjukkan cara menggabungkan pengendali:

Jika pelanggan mempunyai pembolehubah umur dengan nilai antara 18 dan 99, blok akan dicetuskan. Jika pembolehubah hilang, atau umur kurang daripada 18 atau lebih besar daripada 99, blok tidak akan diaktifkan.
Nota!
Jika anda membandingkan pembolehubah dengan nilai dalam tanda petikan, pastikan tiada ruang antara petikan dan nilai; jika tidak, blok mungkin gagal dicetuskan atau berkelakuan tidak betul!
Betul (tiada ruang sebelum tanda petikan atau selepas nilai my_new_bot):
Salah (dengan ruang sebelum tanda petikan):


