كيفية استخدام المتغيرات
دعنا نستكشف ما هي المتغيرات وكيفية استخدامها بفعالية عند بناء روبوتات المحادثة في MaviBot.
يرجى الانتباه إلى الحدود النظامية التالية للمتغيرات والثوابت داخل مشروع واحد:
متغيرات القالب:
- الحد الأقصى للكمية: 100 متغير
- الحد الأقصى لطول الاسم: 100 حرف
ثوابت المشروع:
- الحد الأقصى للكمية: 50 ثابتًا
- الحد الأقصى لطول الاسم: 100 حرف
- الحد الأقصى لطول القيمة: 5000 حرف
المتغير هو موقع تخزين مسمى للبيانات، يتم التعرف عليه بواسطة تسمية نصية فريدة.

الشكل 1: متغير باسم total، يخزن مبلغ الدفع.
يوفر MaviBot عدة أنواع من المتغيرات:
- المتغيرات المضمنة
- متغيرات النظام
- المتغيرات المعرفة من قبل المستخدم — وهي تلك التي تقوم بإنشائها بنفسك داخل المشروع.
تعريف متغير يعني تعيين قيمة لحاوية مسماة. بعبارة أخرى، عبارة مثل a=0 هي تعريف للمتغير a. لقد أخبرنا (أعلنا) للباني أننا سنخزن رقمًا في المتغير a، وفي الوقت الحالي، هذه القيمة هي 0.
تعيين قيمة لمتغير يحمل نفس المعنى.
التعبيرات "تعيين متغير بقيمة دالة" أو "تعيين متغير مساويًا لدالة" شائعة الاستخدام أيضًا. المبدأ هو نفسه: بدلاً من تعيين قيمة محددة، تقوم بتعيين نتيجة دالة. على سبيل المثال: s_id = tg_send_message(platform_id, "Hello!") في هذه الحالة، سيتم تخزين نتيجة الدالة في المتغير.
إعادة تعيين متغير يعني تعيينه القيمة 0.
الدوال والطرق هي مجموعات محددة مسبقًا من الأوامر التي تم تكوينها مسبقًا بواسطة MaviBot. تتطلب معظم الدوال معاملات - قيم يمكن للدالة أو الطريقة فهمها. بمجرد أن يتلقى الروبوت المعاملات اللازمة، يقوم بتنفيذ أمر معين.
tg_send_message(platform_id, "Hello!") — هذه الدالة ترسل الرسالة "Hello!" في Telegram.

الشكل 2. مثال على متغير باسم text1 تم تعيينه لدالة.
قواعد العمل مع المتغيرات:
-
يمكن أن يبدأ اسم المتغير فقط بحرف؛ لا يمكن أن يبدأ برقم.
Age1 - ✅ صحيح
1Age - ❌ غير صحيح
age1 - ✅ صحيح - الخيار الموصى به
-
لا يمكن أن يحتوي المتغير على مسافات أو أحرف خاصة، باستثناء الشرطة السفلية (_).
Name_Surname - ✅ صحيح
Name Surname - ❌ غير صحيح
nameSurname - ✅ صحيح - الخيار الموصى به
لا يمكن استخدام الكلمات المحجوزة من لغات البرمجة كأسماء متغيرات، على سبيل المثال: print, true, false, count, sum، وهكذا.
-
من الممنوع منعًا باتًا استخدام أسماء المتغيرات المضمنة ومتغيرات النظام للمتغيرات المعرفة من قبل المستخدم. يمكنك العثور على قائمة بهذه المتغيرات هنا. رابط
-
نوصي بما يلي:
- استخدام أسماء لاتينية (إنجليزية) للمتغيرات.
- استخدام أسماء متغيرات قصيرة ولكن ذات معنى، على سبيل المثال: totalSum, pay_name, ns, name_client، إلخ.
كيفية الحصول على قيمة متغير
ضع اسم المتغير داخل أقواس معقوفة #{}. يمكنك الإشارة إلى قيمته في حقل نص الرسالة بهذه الطريقة. ومع ذلك، في حقل "الحاسبة"، يجب أن تشير إلى قيمة المتغير ببساطة باسمه، دون أي بناء جملة إضافي.
يسمح لك البناء #{} باسترداد قيمة متغير. يتم استخدامه في حقل "نص الرسالة" لإدراج قيمة المتغير في النص.
مثال:

يدعم النظام المتغيرات المتداخلة، حيث تكون قيمة أحد المتغيرات جزءًا من اسم متغير آخر. على سبيل المثال: #{q#{test#{i}}}
في حقل "الحاسبة"، أشر إلى المتغيرات بأسمائها دون استخدام تدوين #{}.
على سبيل المثال، إذا كان لدينا متغيرين: price (المجموع) و quantity (العدد).
num = 10
sum = 1500

كيفية عرض المجموع الكلي
أدخل ما يلي في الحاسبة:
total_sum = sum1 * num2 ✅ صحيح

كيف لا تفعل ذلك:
total_sum = #{sum1} * #{num2} - ❌ غير صحيح
كيفية حذف متغير من الروبوت
لحذف (مسح) متغير، أدخل أحد ما يلي في حقل "الحاسبة":
YourVariableName =
أو
YourVariableName = ""
بعد علامة التساوي، إما اترك مسافة أو استخدم علامات اقتباس مزدوجة (أو مفردة).
يرجى الملاحظة! من المهم استخدام البادئة الصحيحة للإشارة إلى مكان المتغير.
بالنسبة لمتغيرات مستوى المشروع (المخزنة في إعدادات المشروع)، استخدم البادئة project:
مثال:
project.YourVariableName =
أو
project.YourVariableName = ""بالنسبة لمتغيرات مستوى العميل، استخدم البادئة client:
مثال:
client.YourVariableName = أو
client.YourVariableName = ""بالنسبة لمتغيرات مستوى الصفقة، لا حاجة لبادئة.
المتغيرات المضمنة
فيما يلي قائمة المتغيرات المضمنة:
#{none} - تجاهل الرسالة
#{api_key} - رمز API المستخدم في استدعاءات Mavibot API
#{attachment_url} - يحتوي على رابط المرفق
#{attachments} - مصفوفة JSON لعناوين URL للمرفقات من رسالة المستخدم
#{avatar} - رابط إلى صورة المستخدم الرمزية (تظهر في قسم "العملاء")
#{client_id} - معرف العميل في المنشئ، يُستخدم أيضًا في طلبات API
#{client_type} - نوع المراسلة التي جاء منها العميل (القيم موصوفة [هنا])
#{current_date} - التاريخ الحالي بتنسيق dd.mm.yyyy، بناءً على المنطقة الزمنية للمشروع
#{current_time} - الوقت الحالي بتنسيق hh:mm، بناءً على المنطقة الزمنية للمشروع
#{custom_answer} - الرد المستلم من الخادم المحدد في حقل "عنوان URL لاستجابة الخادم"
#{message_from_outside} - نوع الرسالة الواردة. القيم المحتملة:
&#xNAN;رسالة عادية = 0
رسالة مرسلة عبر API = 1
إشعار رد اتصال (خلفية صفراء في الحوار) = 3
إشعار هاتفي (خلفية زرقاء فاتحة في الحوار) = 5
يتم إنشاء هذا المتغير مع كل رسالة واردة ولكنه لا يظهر في بطاقة العميل.
يمكنك استخدامه في حقل "متغير للمقارنة" لإعداد شروط لمشغلات الكتل والاتصالات.
#{date_of_creation} - تاريخ إضافة المستخدم إلى الروبوت أو مراسلته لأول مرة
#{full_name} - الاسم الكامل للمستخدم (الاسم الأول واسم العائلة)
#{group} - الروبوت الذي يرتبط به العميل (يظهر كـ "مرتبط بالروبوت" في بطاقة العميل)
#{main_client_id} - معرف العميل الرئيسي بين مجموعة من بطاقات العملاء المرتبطة
#{message_id} - معرف حالة المحادثة الحالية مع العميل (القيمة الافتراضية هي NONE)
#{messenger} - اسم المراسلة التي جاء منها العميل
#{name} - الاسم الأول للمستخدم
#{next_day} - تاريخ الغد بتنسيق dd.mm.yyyy (مفيد لجدولة الرسائل)
#{order_id} - معرف الطلب (معرف العميل ومعرف الطلب الداخلي مفصولين بواصلة)
#{order} - محتويات الطلب المقدم من المستخدم
#{platform_id} - معرف العميل في منصة المراسلة
#{question} - الرسالة التي أرسلها المستخدم
#{timestamp} - الطابع الزمني الحالي بما في ذلك المللي ثانية
#{time_of_creation} - وقت إضافة المستخدم إلى الروبوت أو مراسلته لأول مرة
#{wa_bot} - رقم WhatsApp الذي راسله المستخدم (مفيد لتمريره إلى حقول CRM وتوزيع العملاء المحتملين بين المديرين)
#{weekday} - يوم الأسبوع كرقم (الاثنين = 1، الثلاثاء = 2، إلخ.)
قيم client_type
| القيمة | المراسلة |
|---|---|
| 1 | لـ Telegram |
| 2 | لـ Viber |
| 3 | لـ Facebook |
| 5 | للدردشة عبر الإنترنت |
| 10 | لـ Instagram |
| 14 | البريد الإلكتروني |
| 16 | حساب Telegram التجاري |
| 21 | حساب Telegram |
| 22 | TikTok |
متغيرات النظام
يقوم النظام تلقائيًا بإنشاء متغيرات وقت تشغيل مختلفة أثناء تشغيل الروبوت. يمكنك استخدام هذه المتغيرات أثناء بناء الروبوت الخاص بك. فيما يلي قائمة بتلك التي قد تكون مفيدة لك.
يمكنك العثور على متغيرات نظام إضافية في الوثائق. توجد ضمن الأقسام ذات الصلة باستخدامها.
phone - رقم الهاتف
notSubscribed - إذا كان المتغير يساوي 1، فقد ألغى العميل اشتراكه في الرسائل ولن يتلقى أي رسائل
clientBlocked - العميل محظور، ولا يعمل الروبوت معه
story_url - معرف قصة Instagram التي رد عليها العميل
viewed_page - الصفحة التي يكتب منها المستخدم في الدردشة عبر الإنترنت
wa_bot - رقم هاتف روبوت WhatsApp
لمعرفة المتغيرات التي يمكن إنشاؤها أثناء الدفع، راجع أدلة التكامل لخدمات الدفع في قسم "نظام الدفع".
المتغيرات المخصصة
تنقسم المتغيرات المخصصة إلى:
- متغيرات المشروع (تسمى أيضًا المتغيرات المشتركة)
- متغيرات العميل
- متغيرات الصفقة (تسمى أيضًا المتغيرات العادية)
- الثوابت
سيتم شرح كل نوع من المتغيرات أدناه.
يرجى تجنب استخدام نفس الأسماء لأنواع مختلفة من المتغيرات لمنع الارتباك عندما يعرض المنشئ أو يستخدم قيمة غير تلك التي توقعتها.
عند تعيين قيمة لمتغير، من المهم تحديد نوعه باستخدام البادئة المناسبة:
client. (لمتغيرات العميل) و project. (لمتغيرات المشروع). لا تُستخدم بادئة لمتغيرات الصفقة.
يتم حذف البادئة عند استرداد قيمة متغير.
مثال:
لنتخيل أنك تريد إنشاء متغير مشروع باسم like ليكون بمثابة عداد للإعجابات من عملائك.project.like = 0 - تعريف، يتم مرة واحدة
في الكتلة التي تحتاج فيها إلى حساب الإعجابات، اكتب:
project.like = like + 1
ترتيب أولوية المتغيرات:
متغيرات الصفقة لها الأولوية القصوى، تليها متغيرات العميل، ثم متغيرات المشروع.
معرف المراسلة (platform_id)
معرف المراسلة (platform_id) هو معرف المستخدم/الدردشة/القناة داخل المراسلة. للعثور عليه، افتح المحادثة مع العميل المطلوب في قسم "العملاء". على الجانب الأيمن من نافذة الدردشة، انتقل إلى علامة التبويب "حول العميل - متغيرات النظام" أو علامة التبويب "الكل".
platform_id هو متغير نظام دائم يمثل معرف المراسلة الفريد للمستخدم.
-
الثبات: يظل هذا المعرف ثابتًا للمستخدم. حتى إذا قمت بحذف سجله من المنشئ، فسيكون
platform_idالخاص به هو نفسه عند إعادة التسجيل. - الأصل: يتم تعيين المعرف بواسطة منصة المراسلة (مثل Telegram، WhatsApp) عندما يتفاعل المستخدم مع الروبوت لأول مرة.
يوضح المثال التالي كيف يظهر platform_id في بطاقة العميل.

متغير platform_id موجود للمستخدمين العاديين وكذلك للمجتمعات والقنوات والدردشات.
للحصول على platform_id (معرف المراسلة) لقناة Telegram حيث يكون الروبوت مشرفًا، ما عليك سوى إرسال رسالة إلى القناة من حسابك الشخصي. سيؤدي هذا تلقائيًا إلى إنشاء حوار بين الروبوت والقناة.
يمكنك نسخ قيمة platform_id الخاصة بالقناة في قسم "حول العميل".
في Telegram، يبدأ معرف المراسلة للقنوات دائمًا بعلامة ناقص (-). عند استخدام الدوال، تأكد من تضمين القيمة بأكملها، بما في ذلك علامة الناقص.
كيفية استخدام المتغيرات
يمكن استخدام المتغيرات في المشغلات، والطلبات، وردود المستخدمين، والكتل، وغيرها. دعنا نلقي نظرة على مثال ملموس أثناء إنشاء مسار تحويل لوكالة عقارات.
لذا، لنقم بإنشاء كتلة "بدء":

الخطوة 1: إنشاء كتلة "شكرًا لك"
أنشئ كتلة جديدة تحتوي على رسالة تشكر المستخدم على إدخاله.
الخطوة 2: تكوين الانتقال
على الاتصال المؤدي إلى هذه الكتلة، قم بتكوين المشغل التالي:
- فعّل مفتاح "يقوم المستخدم بإدخال البيانات".
- في حقل "بيانات الإدخال"، أدخل اسم المتغير:
name.

يتم تخزين إدخال المستخدم في المتغير Name. يمكن إعادة استخدام هذه القيمة في أي كتلة لاحقة عن طريق استدعاء المتغير بالصيغة #{Name}، مثل: مرحبًا، #{Name}!.

سيعمل البوت على النحو التالي:

الآن دعنا نجعل المهمة أكثر تعقيدًا قليلاً.
في نفس هذه الكتلة، سنسأل المستخدم عما إذا كان مهتمًا بالسكن الأساسي (الجديد) أو الثانوي (إعادة البيع):

بعد ذلك، أنشئ اتصالات من زري "السكن الأساسي" و"السكن الثانوي" في كتلة "الدردشة".

الآن دعنا نلقي نظرة على الطريقة الثانية لاستخدام المتغيرات داخل الكتل.
حدد الكتلة اليمنى وأدخل النص التالي في حقل "الحاسبة":
client_interest = السكن الأساسي. في الكتلة اليسرى، أدخل:
client_interest = السكن الثانوي.


يتم تعيين متغير للمستخدم عند انتقاله إلى أي من هذه الكتل. يمكننا استخدامه لاحقًا عند إنشاء طلب.
بعد ذلك، سنسأل العميل عن ميزانيته لشراء العقارات في هذه الكتل، وننشئ كتلتين إضافيتين مع أسهم تؤدي إليهما بناءً على مشغلات استجابة العميل.




من الكتلة "ما هي ميزانيتك؟"، أنشئ اتصالاً وحدد شرط مشغل لتقسيم المستخدمين بناءً على إدخالهم.
- في إعدادات الاتصال، فعّل خانة الاختيار لـ "يقوم المستخدم بإدخال البيانات".
- عيّن اسم متغير (مثل
budget) لتخزين رد العميل. - في حقل "المتغير"، استخدم المتغير المدمج
#{question}(الذي يحتوي على آخر رسالة للمستخدم) لإنشاء شرط.-
مثال:
#{question} <= 1000000
-
مثال:

بالنسبة لجميع الاتصالات إلى كتل "العملاء المحتملين"، فعّل "يقوم المستخدم بإدخال البيانات" وحدد المتغير.
يمكنك أيضًا تحديد متغير إضافي مباشرة في كتلة "العملاء المحتملين" لتوفير معلومات أكثر شمولاً عن الصفقة.

الآن قم بتغيير نوع الكتلتين الأخيرتين إلى "العملاء المحتملين" وشاهد النتائج:
دعنا نختبر التدفق عمليًا:

يمكنك مراجعة الصفقة التي تم إنشاؤها والبيانات المخزنة للعميل بالانتقال إلى قسم "العملاء" وفتح المحادثة ذات الصلة. ستكون متغيرات الصفقة مرئية هناك.

الآن أنت تعرف كيفية استخدام المتغيرات بثلاث طرق مختلفة على الأقل:
- تعيين أسماء متغيرات لبيانات إدخال المستخدم (مثل "الاسم"، "الميزانية")
- تعيين قيمة متغير عند الانتقال إلى كتلة (مثل client_interest = السكن الأساسي)
كيفية عرض المتغيرات
لعرض متغيرات العميل، انتقل إلى قسم "العملاء" وافتح بطاقة العميل.

يتم عرض المتغيرات بتنسيق قائمة داخل بطاقة العميل:
- يشغل كل متغير سطرًا خاصًا به.
- يظهر اسم المتغير على اليسار.
- يتم عرض القيمة المقابلة له على اليمين.
لتعديل متغير:
مرر مؤشر الماوس فوق سطره في القائمة لتظهر لك زر إجراء. يتيح لك النقر فوق هذا الزر:
- تحرير اسم المتغير.
- تحرير قيمة المتغير.
- حذف المتغير بالكامل.


لا يمكن تحرير متغيرات النظام!
كيفية تعيين متغيرات العميل
لا يتم حذف متغيرات العميل أو إعادة تعيينها أو فقدانها عند استخدام كتلة "نهاية جمع البيانات" (الكتلة الحمراء).
يمكن تعيين متغير العميل بطريقتين: بشكل صريح وبشكل ضمني.
الطريقة الصريحة لتعريف متغير هي تعيينه في حقل "الحاسبة" لإحدى كتل مسار التحويل.
مثال: client.age = 28 أو client.age = 28:

الطريقة الضمنية هي تعيين متغير في حقل إدخال بيانات السهم.
مثال:
لنقم بإنشاء كتلة حيث نسأل عن اسم العميل، وننشئ أيضًا كتلة أدناه:

بعد ذلك، انتقل إلى إعدادات الاتصال وفعّل خيار "يقوم المستخدم بإدخال البيانات".

استخدم البادئة client. عند تسمية متغيرك (مثل client.name) لتخزين إدخال المستخدم. يمكن بعد ذلك الرجوع إلى هذا المتغير في الرسائل اللاحقة كـ #{client.name}.

يتم استخدام متغيرات العميل تمامًا مثل المتغيرات العادية في المنشئ، ولكن بدون البادئة client.
كيفية تعيين متغيرات المشروع
لا يتم حذف المتغيرات العامة أو إعادة تعيينها أو فقدانها عند استخدام كتلة "العملاء المحتملين" (الكتلة الحمراء).
المتغيرات العامة متاحة لجميع مستخدمي البوت. إنها مثالية للتحكم في سلوك البوت أو تسهيل التفاعلات بين المستخدمين المختلفين.
مثال على حالة الاستخدام:
يمكن لمستخدم واحد نشر عنصر في قناة سوق عن طريق تعيين متغير (مثل project.latest_listing)، ويمكن لجميع المستخدمين الآخرين رؤيته والرد عليه.
صيغة التعيين
لإنشاء أو تحديث متغير عام، استخدم البادئة project. في الحاسبة:
أمثلة:
project.product_shop = 28project.age = 28

يمكن استخدامها بدون أي بادئة.
دعنا نرى كيف يتم عرض البيانات في الجدول.

الآن، قم بتنفيذ كتلة "بدء" في وضع الاختبار.

يمكننا رؤية البيانات التي تمت كتابتها إلى المتغير من الجدول في الرسالة التي أرسلها البوت. لأننا أشرنا إلى المتغير في الرسالة باستخدام الصيغة #{}، تم عرض البيانات المخزنة فيه في دردشة البوت.
مزيد من التفاصيل حول كيفية العمل مع الدالة get_records_from_table() موضحة في المقالة "المساعد الذكي مع جداول MaviBot".
سمحت البادئة project. للدالة بكتابة بيانات الجدول مباشرة إلى المتغيرات العامة للمشروع، والتي يمكن الوصول إليها في قسم "المتغيرات".

يمكنك تحرير متغيرات المشروع في إعدادات المشروع.
مثال: استخدام متغيرات المشروع
أنشئ نظامًا يعين رقمًا تسلسليًا لكل عميل جديد يدخل البوت.
التنفيذ:
- انتقل إلى إعدادات المشروع الخاصة بك.
- أنشئ متغير مشروع جديد (مثل
project.client_counter).


- عيّن قيمته الأولية (مثل
0) والتي تعني "لا يوجد عملاء في البوت":



في كتلة بدء البوت، أضف منطقًا يقوم بما يلي:
- زيادة قيمة متغير المشروع بمقدار 1.
- تعيين القيمة الجديدة لمتغير خاص بالعميل للمستخدم الحالي.

لا تنسَ تعيين قيد بحيث لا يمكن زيادة العداد لنفس العميل مرتين.

كيفية تعيين المتغيرات الثابتة
الثوابت هي قيم ثابتة تبقى دون تغيير (أو نادرًا ما تتغير) طوال دورة حياة المشروع.
الفرق الرئيسي عن المتغيرات العامة:
على عكس المتغيرات العامة، الثوابت خاصة بالعميل. إذا تم تعديل قيمة ثابت، فإن التغيير ينطبق فقط على جلسة ذلك العميل الفردي.
حالات الاستخدام الشائعة:
تعتبر الثوابت مثالية لتخزين البيانات الثابتة مثل:
- أسعار المنتجات وخصومات العملاء
- رموز التكامل ومفاتيح API
- معلومات الاتصال بالبائع أو الدعم
- أي قيم تكوين ثابتة أخرى
مثال: استخدام المتغيرات الثابتة
على سبيل المثال، يمكن أن يكون خصم العميل 10% افتراضيًا، ولكن يتغير إلى 25% عند إدخال رمز ترويجي.
في "إعدادات المشروع" → "الثوابت"، أدخل: الخصم : 10

لإدخال رمز ترويجي، أضف كتلة "مشغل"، حيث نخصص للمتغير الخصم القيمة 25.

اعرض المتغير الذي يظهر مبلغ الخصم في الكتلة الخضراء:

الخطوة 1: تكوين الانتقال التلقائي
أنشئ اتصالاً بمؤقت صفر ثانية من الكتلة الرمادية. يضمن ذلك تطبيق الخصم فورًا ومتابعة العميل للرسالة في كتلة البداية.
الخطوة 2: اختبار التدفق
الآن، اكتب رسالة إلى البوت لتشغيل واختبار التسلسل بأكمله.

الخصم القياسي هو 10% بدون رمز ترويجي. ومع ذلك، فإن إدخال رمز ترويجي صالح يغير الوضع.

وهكذا، بعد إدخال الرمز الترويجي، أصبح المتغير "الخصم" لهذا العميل 25.
حدث هذا لأن تعيينًا مثل الخصم = 25 عيّن القيمة لمتغير الصفقة، بدلاً من تغيير قيمة الثابت الذي يحمل نفس الاسم.
متغيرات الصفقة الرئيسية
name - اسم الصفقة. يُستخدم المصطلح Name للنسخة الدولية من المشروع.
description - وصف الصفقة. يُستخدم Description في النسخة الدولية من المشروع.
budget - مبلغ الصفقة (رقم).
لتحرير المتغيرات باستخدام طلب API /set_order_vars، يجب استخدام الأسماء من هذا الدليل تمامًا كما هو موضح، بما في ذلك حساسية حالة الأحرف وإصدار المشروع.
الحدود
الحد الأقصى لطول اسم المتغير: 500 حرف
الحد الأقصى لقيمة المتغير: 100,000 حرف
الحد الأقصى لعدد المتغيرات لكل عميل أو صفقة: 1,000 حرف.
كيفية العمل مع المتغيرات بشكل صحيح
متى يجب وضع قيمة المتغير بين علامتي اقتباس؟
على سبيل المثال، client_id = 1202020202 أو client_id = '1202020202'؟
كلا الخيارين النحويين صحيحان وظيفيًا. استخدام علامات الاقتباس حول القيمة يؤثر فقط على إبرازها البصري في محرر الآلة الحاسبة.
ومع ذلك، فإن اتباع اصطلاحات ترميز متسقة يحسن قابلية القراءة والصيانة:
-
احذف علامات الاقتباس للقيم الرقمية (مثل
discount = 25). -
استخدم علامات الاقتباس للقيم النصية (مثل
status = "active").



ما هي الصيغة الصحيحة لتمرير المعرفات مثل معرف العميل، معرف الموقع، معرف الكتلة، أو معرف الشهادة إلى الدوال—هل يجب وضعها بين علامتي اقتباس؟

لا ينبغي وضع المعرف بين علامتي اقتباس عند تمريره إلى طريقة أو دالة:

أي منهما يجب استخدامه: علامات الاقتباس المزدوجة أم المفردة؟
لا يوجد فرق بين استخدام علامات الاقتباس المفردة أو المزدوجة، لكننا نوصي باستخدام علامات الاقتباس المزدوجة. بهذه الطريقة، على سبيل المثال، عند إدراج متغير داخل سلسلة نصية، سيتم تمييز المتغير بلون مختلف، مما يسهل ملاحظته.

كيف يجب وضع المسافات؟
هل يعمل الأمر بنفس الطريقة إذا كانت هناك مسافة بين المتغير وعلامة التساوي (على سبيل المثال، ans="yes"، ans = "yes"، ans= "yes"، ans ="yes"؟

المسافات لا تؤثر على عمل الطرق أو المتغيرات أو الدوال. ومع ذلك، يوصى باستخدام المسافات في الكود لتحسين قابلية القراءة.
كيفية كتابة التعليقات في الآلة الحاسبة بشكل صحيح
لمزيد من التفاصيل حول كيفية كتابة التعليقات في الآلة الحاسبة، يرجى الاطلاع على هذه المقالة.
كيفية مقارنة المتغيرات
يمكنك التحكم في تدفق chatbot من خلال مقارنة قيم المتغيرات. يتيح لك ذلك إنشاء منطق شرطي، مثل التحقق من عمر المستخدم للامتثال القانوني أو توجيه التفاعلات بناءً على منصة المراسلة الخاصة بالمستخدم.
إليك كيفية تقسيم القمع حسب المراسلين المختلفين أو حسب الحسابات المختلفة لنفس المراسل الموضح هنا.
العوامل المدعومة:
"+": الجمع
"-"': الطرح
"*" الضرب
"/": القسمة
"%'": باقي القسمة
"^" "**": الأس
"and" "AND" "&&": AND المنطقي
"or" "OR" "||": OR المنطقي
عوامل المقارنة:
"==" — يساوي
"!=" — لا يساوي
">" — أكبر من
"<" — أصغر من
">=" — أكبر من أو يساوي
"<=" — أصغر من أو يساوي
مهم!
للتحقق من أن الوسم المتغير المدمج (وسم تشغيل البوت) غير موجود في بطاقة العميل، استخدم طريقة المقارنة التالية:
tag == "NONE"
يجب مقارنة المتغيرات في الشرط داخل حقل "المتغير" (سواء في إعدادات الاتصال أو في إعدادات الكتلة):
مثال على مقارنة المتغيرات في حقل "المتغير" لكتلة المشغل.

مثال على مقارنة المتغيرات في حقل "المتغير" لاتصال الكتلة.

كيف تعمل المتغيرات والمشغلات معًا
لكي يتم تفعيل الاتصال، يجب استيفاء كلا المشغلين:
- الشرط في حقل "المشغل".
- منطق المقارنة في حقل "المتغير".
فهم حقل "المتغير"
إذا قمت بإدخال اسم متغير فقط (مثل client_type) في حقل "المتغير" بدون تعبير، فإن النظام يتحقق من وجود أو صدق قيمة المتغير. إنه لا يقارنها بمدخلات المستخدم الخام.
مثال:
التكوين أدناه يتحقق مما إذا كان العميل من WhatsApp عن طريق التحقق من أن المتغير client_type يساوي 6 (حيث يمثل 6 WhatsApp).
client_type == 6

المثال أدناه يعمل بشكل مماثل:

يرجى الملاحظة!
لا يمكنك تحديد قيم متعددة لمقارنة المتغيرات في حقل "المشغل".![]()
هذا غير صحيح!
إذا كنت بحاجة إلى مقارنة متغيرات متعددة، حدد قيمها في حقل "المتغير".
هذه الخيارات صحيحة.
![]()
client_type == 3 انتقال إذا كانت قيمة المتغير تساوي 3
attachments != None انتقال إذا كان المتغير يحتوي على أي قيمة
attachments == None انتقال إذا لم يتم تعيين المتغير
product_quantity >= 100 انتقال إذا كانت كمية المنتج أكبر من أو تساوي 100
product_quantity <= 100 انتقال إذا كانت كمية المنتج أصغر من أو تساوي 100
name == "John" انتقال إذا كان اسم المتغير يساوي Johnللتحقق مما إذا كان المتغير فارغًا أم لا، استخدم التعبيرات:
&#xNAN;"#{value}" == ""
"#{value}" != ""(حيث value هو اسم المتغير).
نتيجة عملية المقارنة ترجع قيمة منطقية: True أو False.
الحد الأقصى لطول التعبير: 1000 حرف
سيتم إرجاع القيمة الافتراضية كنتيجة عند محاولة مقارنة قيم من أنواع مختلفة.
"==" - False "<" - False
"!=" - True ">=" - False
">" - False "<=" - False
مهم!
للتحقق من أن الوسم المتغير المدمج (وسم تشغيل البوت) غير موجود في بطاقة العميل، استخدم طريقة المقارنة التالية:
tag == "NONE"
مثال: بوت يتحقق من عمر المستخدم (age).
- إذا كان
age < 18، يرسل رسالة للقاصرين. - إذا كان
age >= 18، يرسل رسالة للبالغين.


لاحظ أن التدفق يتضمن كتلة بدون مشغل، مع اتصالات زمنية تنطلق منها.
هذه الكتلة مصممة عمدًا لتوضيح كيفية بناء تدفقات حيث يتفاعل البوت ليس مع إجراءات المستخدم، ولكن مع نتائج الحساب. في الخطوة الأولى، يتم حفظ الإجابة في متغير، ثم تتم المقارنة. تم ضبط التأخير على الأسهم على 0 للحصول على استجابة فورية.
يمكن أيضًا التعبير عن المقارنة "Age >= 18" كـ "أكبر من أو يساوي 18."

يرجى ملاحظة الأخطاء في المشغلات:
![]()
![]()
![]()
لا يمكن أن يكون الرقم أكبر من وأصغر من ويساوي 18 في نفس الوقت!
هذه المشغلات لا معنى لها. كل رقم إما أقل من 18، أو أكبر من 18، أو يساوي 18.
مهم!
يجب كتابة المشغلات المنطقية مع المتغيرات في حقل "المتغير"، وليس في حقل "المشغل"!
على سبيل المثال، في الصورة أدناه، سيتم تشغيل الكتلة إذا كان المتغير phone مملوءًا (أي لا يساوي None):

المثال التالي يوضح كيفية دمج العوامل:

إذا كان لدى العميل متغير عمر بقيمة بين 18 و99، سيتم تشغيل الكتلة. إذا كان المتغير مفقودًا، أو كان العمر أقل من 18 أو أكبر من 99، فلن يتم تنشيط الكتلة.
ملاحظة!
إذا قارنت متغيرًا بقيمة بين علامتي اقتباس، تأكد من عدم وجود مسافات بين علامات الاقتباس والقيمة؛ وإلا فقد تفشل الكتلة في التشغيل أو تتصرف بشكل غير صحيح!
صحيح (لا توجد مسافة قبل علامة الاقتباس أو بعد القيمة my_new_bot):
![]()
غير صحيح (مع وجود مسافة قبل علامة الاقتباس):
![]()