المتغيرات

كيفية استخدام المتغيرات

دعنا نستكشف ما هي المتغيرات وكيفية استخدامها بفعالية عند إنشاء روبوتات الدردشة في MaviBot.

triangle-exclamation

المتغير هو موقع تخزين مُسمّى للبيانات، ويُعرَّف بواسطة تسمية نصية فريدة.

الشكل 1: متغير باسم total، يخزن مبلغًا للدفع.

يوفر MaviBot عدة أنواع من المتغيرات:

  1. متغيرات يعرّفها المستخدم — وهي التي تنشئها بنفسك داخل المشروع.

لإعلان متغير يعني إسناد قيمة إلى حاوية مسماة. وبعبارة أخرى، فإن عبارة مثل a=0 هي إعلان المتغير a. لقد أخبرنا المنشئ للتو (أعلنا له) أننا سنخزن رقمًا في المتغير a، وفي الوقت الحالي، هذه القيمة هي 0.

إسناد قيمة إلى متغير يحمل المعنى نفسه.

العبارات "إسناد قيمة دالة إلى متغير" أو "تعيين متغير ليكون مساويًا لدالة" تُستخدم أيضًا بشكل شائع. المبدأ نفسه: بدلًا من إسناد قيمة محددة، تقوم بإسناد ناتج دالة. على سبيل المثال: s_id = tg_send_message(platform_id, "مرحبًا!") في هذه الحالة، سيتم تخزين ناتج الدالة في المتغير.

لإعادة ضبط متغير يعني إسناد القيمة 0.

الدوال والطرائق هي مجموعات أوامر مُعرّفة مسبقًا تم إعدادها مسبقًا بواسطة MaviBot. تتطلب معظم الدوال معاملات - وهي القيم التي يمكن للدالة أو الطريقة فهمها. وبمجرد أن يتلقى الروبوت المعاملات اللازمة، ينفذ أمرًا محددًا.

tg_send_message(platform_id, "مرحبًا!") تقوم هذه الدالة بإرسال الرسالة "مرحبًا!" في Telegram.

الشكل 2. مثال على متغير باسم text1 تم إسناده إلى دالة.

قواعد العمل مع المتغيرات:

  1. يمكن أن يبدأ اسم المتغير فقط بـ حرف؛ ولا يمكن أن يبدأ برقم.

    Age1 - ✅ صحيح

    1Age - ❌ غير صحيح

    age1 - ✅ صحيح - الخيار الموصى به

  2. لا يمكن أن يحتوي المتغير على مسافات أو أحرف خاصة، باستثناء الشرطة السفلية (_).

    Name_Surname - ✅ صحيح

    Name Surname - ❌ غير صحيح

    nameSurname - ✅ صحيح - الخيار الموصى به

    لا يمكن استخدام الكلمات المحجوزة في لغات البرمجة كأسماء متغيرات، على سبيل المثال: print، true، false، count، sum، وما إلى ذلك.

  3. يُمنع بشكل صارم باستخدام أسماء المتغيرات المدمجة ومتغيرات النظام للمتغيرات التي يعرّفها المستخدم. يمكنك العثور على قائمة هذه المتغيرات هنا. رابط

  4. نوصي بـ:

    • استخدم أسماء لاتينية (إنجليزية) للمتغيرات.

    • استخدم أسماء متغيرات قصيرة ولكن ذات معنى، على سبيل المثال: totalSum، pay_name، ns، name_client، إلخ.

كيفية الحصول على قيمة متغير

ضع اسم المتغير بين أقواس معقوفة #{}. يمكنك الإشارة إلى قيمته في حقل نص الرسالة بهذه الطريقة. ومع ذلك، في حقل "Calculator"، يجب الإشارة إلى قيمة المتغير ببساطة بواسطة اسمه، دون أي صياغة إضافية.

triangle-exclamation

مثال:

circle-check

في حقل "Calculator"، أشِر إلى المتغيرات بأسمائها دون استخدام الصيغة #{}. على سبيل المثال، إذا كان لدينا متغيران: السعر (sum) والكمية (num).

num = 10

sum = 1500

كيفية عرض المجموع الكلي

أدخل ما يلي في الحاسبة:

total_sum = sum1 * num2 ✅ صحيح

كيفية عدم القيام بذلك:

total_sum = #{sum1} * #{num2} - ❌ غير صحيح

كيفية حذف متغير من الروبوت

لحذف (مسح) متغير، أدخل أحد ما يلي في حقل "Calculator": YourVariableName = أو YourVariableName = ""

بعد علامة يساوي، اترك مسافة أو استخدم علامات اقتباس مزدوجة (أو مفردة).

circle-exclamation

متغيرات مدمجة

فيما يلي قائمة المتغيرات المدمجة:

#{none} - تجاهل الرسالة

#{api_key} - رمز API المستخدم في استدعاءات Salebot API

#{attachment_url} - يحتوي على رابط المرفق

#{attachments} - مصفوفة JSON لعناوين URL الخاصة بالمرفقات من رسالة المستخدم

#{avatar} - رابط صورة المستخدم الرمزية (تظهر في قسم "العملاء")

#{client_id} - معرّف العميل في المُنشئ، ويُستخدم أيضًا في طلبات API

#{client_type} - نوع المراسِل الذي جاء منه العميل (تُوصف القيم [هنا])

#{current_date} - التاريخ الحالي بصيغة dd.mm.yyyy، بناءً على المنطقة الزمنية للمشروع

#{current_time} - الوقت الحالي بصيغة hh:mm، بناءً على المنطقة الزمنية للمشروع

#{custom_answer} - الرد المستلم من الخادم المحدد في حقل "Server response URL"

#{message_from_outside} - نوع الرسالة الواردة. القيم الممكنة: رسالة عادية = 0 رسالة مرسلة عبر API = 1 إشعار callback (خلفية صفراء في الحوار) = 3 إشعار هاتفي (خلفية زرقاء فاتحة في الحوار) = 5 يُنشأ هذا المتغير مع كل رسالة واردة ولكنه لا يظهر في بطاقة العميل. يمكنك استخدامه في حقل "Variable for comparison" لإعداد الشروط لمشغلات الكتل والاتصالات.

#{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 Business

21

حساب Telegram

22

TikTok

متغيرات النظام

يقوم النظام تلقائيًا بإنشاء متغيرات تشغيل مختلفة أثناء عمل الروبوت. يمكنك استخدام هذه المتغيرات أثناء بناء الروبوت. فيما يلي قائمة بما قد يكون مفيدًا لك منها.

circle-info

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

phone - رقم الهاتف

notSubscribed - إذا كانت قيمة المتغير تساوي 1، فهذا يعني أن العميل ألغى الاشتراك في الرسائل ولن يتلقى أي رسائل

clientBlocked - العميل محظور، والروبوت لا يعمل معه

story_url - معرّف قصة Instagram التي ردّ عليها العميل

viewed_page - الصفحة التي يكتب منها المستخدم في الدردشة عبر الإنترنت

wa_bot - رقم هاتف روبوت WhatsApp

circle-info

لمعرفة المتغيرات التي يمكن إنشاؤها أثناء الدفع، راجع أدلة التكامل الخاصة بخدمات الدفع في قسم "نظام الدفع".

متغيرات مخصصة

تنقسم المتغيرات المخصصة إلى:

سيتم شرح كل نوع من المتغيرات أدناه.

circle-info

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

circle-info

عند إسناد قيمة إلى متغير، من المهم تحديد نوعه باستخدام البادئة المناسبة:

client. (لمتغيرات العميل) و project. (لمتغيرات المشروع). لا تُستخدم أي بادئة لمتغيرات الصفقة.

يتم حذف البادئة عند استرجاع قيمة المتغير.

مثال: لنتخيل أنك تريد إنشاء متغير مشروع باسم like ليعمل كعداد للإعجابات من عملائك.

project.like = 0 - إعلان، يتم مرة واحدة

في الكتلة التي تحتاج فيها إلى عدّ الإعجابات، اكتب: project.like = like + 1

circle-info

ترتيب أولوية المتغيرات: متغيرات الصفقة لها أعلى أولوية، تليها متغيرات العميل، ثم متغيرات المشروع.

معرّف المراسِل (platform_id)

معرّف المراسِل (platform_id) هو معرّف المستخدم/الدردشة/القناة داخل المراسِل. للعثور عليه، افتح المحادثة مع العميل المطلوب في قسم "العملاء". على الجانب الأيمن من نافذة الدردشة، انتقل إلى علامة التبويب "حول العميل - متغيرات النظام" أو علامة التبويب "الكل" .

الـ platform_id هو متغير دائم ينشئه النظام ويمثل معرّف المراسِل الفريد للمستخدم.

  • الاستمرارية: يبقى هذا المعرف ثابتًا للمستخدم. حتى إذا حذفت سجله من المنشئ، فسيظل platform_id نفسه عند إعادة التسجيل.

  • المصدر: يتم تعيين المعرف بواسطة منصة المراسلة (مثل Telegram أو WhatsApp) عندما يتفاعل المستخدم مع الروبوت لأول مرة.

يوضح المثال التالي كيف يظهر platform_id في بطاقة العميل.

يوجد المتغير platform_id للمستخدمين العاديين وكذلك للمجتمعات والقنوات والدردشات.

للحصول على platform_id (معرّف المراسِل) لقناة Telegram التي يكون الروبوت فيها مشرفًا، ما عليك سوى إرسال رسالة إلى القناة من حسابك الشخصي. سيؤدي ذلك تلقائيًا إلى إنشاء حوار بين الروبوت والقناة.

يمكنك نسخ قيمة platform_id الخاصة بالقناة في قسم "حول العميل".

في Telegram، يبدأ معرّف المراسِل للقنوات دائمًا بعلامة ناقص (-). عند استخدام الدوال، تأكد من تضمين القيمة كاملة، بما في ذلك علامة الناقص.

كيفية استخدام المتغيرات

يمكن استخدام المتغيرات في المشغلات، والطلبات، وردود المستخدم، والكتل، والمزيد. دعنا نلقي نظرة على مثال عملي أثناء إنشاء مسار تحويل لوكالة عقارية.

لذا، لننشئ كتلة البداية:

الخطوة 1: أنشئ كتلة "شكرًا"

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

الخطوة 2: اضبط الانتقال

على الاتصال المؤدي إلى هذه الكتلة، اضبط المشغل التالي:

  1. فعّل "User inputs data" المفتاح.

  2. في "Input data" ، أدخل اسم المتغير: name.

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

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

والآن لنجعل المهمة أكثر تعقيدًا قليلًا.

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

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

والآن لننظر إلى الطريقة الثانية لاستخدام المتغيرات داخل الكتل.

اختر الكتلة اليمنى وأدخل النص التالي في حقل "Calculator": client_interest = السكن الأساسي. في الكتلة اليسرى، أدخل: client_interest = السكن الثانوي.

circle-info

يتم إسناد متغير إلى المستخدم عند انتقاله إلى أي من هذه الكتل. ويمكننا استخدامه لاحقًا عند إنشاء طلب.

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

من الكتلة "ما هي ميزانيتك؟"، أنشئ اتصالًا واضبط شرط تشغيل لتقسيم المستخدمين بناءً على مدخلاتهم.

  1. في إعدادات الاتصال، فعّل خانة الاختيار الخاصة بـ "User enters data".

  2. خصّص اسم متغير (مثل، budget) لتخزين رد العميل.

  3. في "Variable" ، استخدم المتغير المدمج #{question} (الذي يحتوي على آخر رسالة أرسلها المستخدم) لإنشاء شرط.

    • مثال: #{question} <= 1000000

circle-exclamation

يمكنك أيضًا تحديد متغير إضافي مباشرةً في كتلة "Leads" لإعطاء معلومات أكثر شمولًا عن الصفقة.

الآن غيّر نوع آخر كتلتين إلى "Leads" وشاهد النتائج:

دعنا نختبر التدفق أثناء العمل:

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

الآن أنت تعرف كيفية استخدام المتغيرات بثلاث طرق مختلفة على الأقل:

  1. إسناد أسماء متغيرات إلى بيانات إدخال المستخدم (مثل "Name"، "Budget")

  2. إسناد قيمة متغير عند الانتقال إلى كتلة (مثل client_interest = السكن الأساسي)

كيفية عرض المتغيرات

لعرض متغيرات العميل، انتقل إلى قسم "العملاء" وافتح بطاقة العميل الخاصة به.

تُعرض المتغيرات في قائمة داخل بطاقة العميل:

  • يشغل كل متغير سطرًا خاصًا به.

  • الـ اسم المتغير يظهر على اليسار.

  • وقيمته المقابلة value تُعرض على اليمين.

لتعديل متغير:

مرّر المؤشر فوق سطره في القائمة لإظهار زر إجراء. يتيح لك النقر على هذا الزر:

  • تعديل اسم المتغير.

  • تعديل قيمة المتغير.

  • حذف المتغير بالكامل.

circle-info

لا يمكن تعديل متغيرات النظام!

كيفية تعيين متغيرات العميل

circle-info

لا يتم حذف متغيرات العميل أو إعادة ضبطها أو فقدانها عند استخدام كتلة "End of data collection" (الكتلة الحمراء).

يمكن تعيين متغير العميل بطريقتين: بشكل صريح وبشكل ضمني. الطريقة الصريحة لتعريف متغير هي تعيينه في حقل "Calculator" لإحدى كتل المسار.

مثال: client.age = 28 أو client.age = 28:

الطريقة الضمنية هي تعيين متغير في حقل إدخال البيانات الخاص بالسهم.

مثال:

لننشئ كتلة نطلب فيها اسم العميل، وننشئ أيضًا كتلة أسفلها:

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

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

circle-check

كيفية تعيين متغيرات المشروع

circle-info

لا يتم حذف المتغيرات العامة أو إعادة ضبطها أو فقدانها عند استخدام كتلة "Leads" (الكتلة الحمراء).

تكون المتغيرات العامة متاحة لجميع مستخدمي الروبوت. وهي مثالية للتحكم في سلوك الروبوت أو تسهيل التفاعل بين المستخدمين المختلفين.

مثال على حالة الاستخدام: يمكن لمستخدم واحد نشر عنصر في قناة سوق من خلال تعيين متغير (مثل، project.latest_listing)، ويمكن لجميع المستخدمين الآخرين رؤيته والرد عليه.

صيغة الإسناد

لإنشاء متغير عام أو تحديثه، استخدم project. البادئة في Calculator:

أمثلة:

  • project.product_shop = 28

  • project.age = 28

يمكن استخدامها دون أي بادئة.

لنرَ كيف تُعرض البيانات في الجدول.

الآن، شغّل كتلة "Start" في وضع الاختبار.

يمكننا رؤية البيانات التي كُتبت في المتغير من الجدول في الرسالة المرسلة من الروبوت. وبما أننا أشرنا إلى المتغير في الرسالة باستخدام الصيغة #{} ، فقد عُرضت البيانات المخزنة فيه في دردشة الروبوت.

circle-info

تُشرح المزيد من التفاصيل حول كيفية العمل مع الدالة get_records_from_table() في المقال "مساعد ذكي مع جدول MaviBot".

الـ project. سمحت البادئة للدالة بكتابة بيانات الجدول مباشرةً إلى المتغيرات العامة للمشروع، المتاحة في "Variables" .

يمكنك تعديل متغيرات المشروع في إعدادات المشروع.

مثال: استخدام متغيرات المشروع

أنشئ نظامًا يعيّن رقمًا تسلسليًا لكل عميل جديد يدخل إلى الروبوت.

التنفيذ:

  1. انتقل إلى إعدادات المشروع.

  2. أنشئ متغير مشروع جديدًا (مثل، project.client_counter).

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

في كتلة البداية الخاصة بالروبوت، أضف منطقًا يقوم بـ:

  1. زيادة قيمة متغير المشروع بمقدار 1.

  2. إسناد القيمة الجديدة إلى متغير خاص بالعميل للمستخدم الحالي.

circle-info

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

كيفية تعيين متغيرات ثابتة

الثوابت هي قيم ثابتة تبقى دون تغيير (أو نادرًا ما تتغير) طوال دورة حياة المشروع.

الفرق الرئيسي عن المتغيرات العامة:

على عكس المتغيرات العامة، فإن الثوابت خاصة بالعميل. إذا تم تعديل قيمة ثابت، فإن التغيير ينطبق فقط على جلسة ذلك العميل الفردي.

حالات الاستخدام الشائعة:

الثوابت مثالية لتخزين البيانات الثابتة مثل:

  • أسعار المنتجات وخصومات العملاء

  • رموز التكامل ومفاتيح API

  • معلومات الاتصال بالبائع أو الدعم

  • أي قيم إعداد ثابتة أخرى

مثال: استخدام متغيرات ثابتة

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

في "إعدادات المشروع" → "Constants"، أدخل: Discount : 10

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

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

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

الخطوة 2: اختبر التدفق الآن، اكتب رسالة إلى الروبوت لتفعيل واختبار التسلسل بالكامل.

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

وبالتالي، بعد إدخال رمز الترويج، أصبح المتغير "discount" لهذا العميل 25.

حدث هذا لأن تعيينًا مثل discount = 25 حدد القيمة لمتغير الصفقة، بدلًا من تغيير قيمة الثابت الذي يحمل الاسم نفسه.

متغيرات الصفقة الرئيسية

name - اسم الصفقة. يُستخدم المصطلح Name للنسخة الدولية من المشروع.

description - وصف الصفقة. الوصف يُستخدم في النسخة الدولية من المشروع

budget - مبلغ الصفقة (رقم).

لتعديل المتغيرات باستخدام طلب API /set_order_vars، يجب استخدام الأسماء الواردة فيهذا الدليل كما هي تمامًا، بما في ذلك حساسية حالة الأحرف وإصدار المشروع.

القيود

circle-exclamation

كيفية العمل مع المتغيرات بشكل صحيح

متى يجب أن تُحيط قيمة المتغير بعلامات اقتباس؟

على سبيل المثال، client_id = 1202020202 أو client_id = '1202020202'?

كلا الخيارين من حيث الصياغة صحيحان وظيفيًا. استخدام علامات الاقتباس حول قيمة لا يؤثر إلا على تمييزها البصري في محرر الحاسبة.

ومع ذلك، فإن اتباع اصطلاحات ترميز متسقة يحسن قابلية القراءة والصيانة:

  • احذف علامات الاقتباس لـ القيم العددية (مثل، discount = 25).

  • استخدم علامات الاقتباس لـ لـ العددية (مثل، status = "active").

ما الصياغة الصحيحة لتمرير المعرفات مثل Client ID أو Site ID أو Block ID أو Certificate ID إلى الدوال — هل يجب إحاطتها بعلامات اقتباس؟

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

أيّهما يجب استخدامه: علامات الاقتباس المزدوجة أم المفردة؟

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

كيف يجب وضع المسافات؟

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

لا تؤثر المسافات على عمل الطرق أو المتغيرات أو الدوال. ومع ذلك، يُنصح باستخدام المسافات في الكود لتحسين قابلية القراءة.

كيفية كتابة التعليقات في الحاسبة بشكل صحيح

circle-check

كيفية مقارنة المتغيرات

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

المعاملات المدعومة:

"+": جمع "-"': طرح "*" الضرب "/": القسمة "%'": باقي القسمة "^" "**": الأس "و" "AND" "&&": AND المنطقي "أو" "OR" "||": OR المنطقي

معاملات المقارنة: "==" — يساوي "!=" — لا يساوي ">" — أكبر من "<" — أصغر من ">=" — أكبر من أو يساوي "<=" — أصغر من أو يساوي

circle-exclamation

يجب مقارنة المتغيرات في الشرط ضمن حقل "Variable" (سواء في إعدادات الاتصال أو في إعدادات الكتلة):

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

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

كيف تعمل المتغيرات والمشغلات معًا

لكي يتم تفعيل الاتصال، يجب استيفاء كلا المشغلين:

  1. الشرط في "مشغّل" .

  2. منطق المقارنة في "Variable" .

فهم حقل "Variable"

إذا أدخلت اسم متغير فقط (مثل، client_type) في "Variable" الحقل بدون تعبير، فإن النظام يتحقق من وجود أو منطقية قيمة المتغير. وهو لا عدم يقارنها بالإدخال الخام للمستخدم.

مثال: يتحقق الإعداد أدناه مما إذا كان العميل من واتساب من خلال التحقق من أن client_type المتغير يساوي 6 (حيث 6 يمثل واتساب).

client_type == 6

المثال أدناه يعمل بالطريقة نفسها تمامًا:

circle-exclamation
circle-info

client_type == 3 انتقال إذا كانت قيمة المتغير تساوي 3 attachments != None انتقال إذا كان المتغير يحتوي على أي قيمة attachments == None انتقال إذا لم يكن المتغير مضبوطًا product_quantity >= 100 انتقال إذا كانت كمية المنتج أكبر من أو تساوي 100 product_quantity <= 100 انتقال إذا كانت كمية المنتج أقل من أو تساوي 100 name == "John" انتقال إذا كان اسم المتغير يساوي John

للتحقق مما إذا كان المتغير فارغًا أم لا، استخدم التعابير التالية: "#{value}" == "" "#{value}" != ""

(حيث value هو اسم المتغير).

تعيد نتيجة عملية المقارنة قيمة منطقية: True أو خطأ.

circle-exclamation
circle-exclamation
circle-exclamation

مثال: روبوت يتحقق من عمر المستخدم (العمر).

  • إذا لم يتم توفير age < 18، يرسل رسالة للقُصَّر.

  • إذا لم يتم توفير age >= 18، يرسل رسالة للبالغين.

لاحظ أن المسار يتضمن كتلة بدون مشغّل، مع اتصالات زمنية تنطلق منها.

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

المقارنة "Age >= 18" يمكن التعبير عنها أيضًا على أنها "أكبر من أو يساوي 18."

triangle-exclamation
circle-exclamation

على سبيل المثال، في الصورة أدناه، سيتم تشغيل الكتلة إذا كان المتغير phone مُعبّأً (أي، غير مساوٍ لـ None):

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

إذا كان لدى العميل متغير عمر بقيمة بين 18 و99، فسيتم تشغيل الكتلة. إذا كان المتغير مفقودًا، أو كان العمر أقل من 18 أو أكبر من 99، فلن يتم تفعيل الكتلة.

circle-exclamation

Last updated