الصيغ

الصيغ هي لغة الحساب المدمجة في GetMyBot. يمكنك بها احتساب قيمة الخصم، وتجميع نص، والتحقق من شرط، وتحويل قائمة أو تاريخ — مباشرةً في نص الرسالة، وفي إجراء «الحساب»، وفي شروط جدول القرارات. يقترب النحو من صيغ جداول البيانات ويدعم أسماء الدوال بالروسية.

أين تعمل الصيغ

  • في النص — يحسب التركيب {{= expression}} القيمة ويضع النتيجة. مثال: {{= ROUND(param.total * 0.9) }}.
  • إجراء «الحساب» (compute) — يحسب التعبير ويحفظ النتيجة في ctx (حقل «حفظ في ctx») و/أو في معامل المشترك (حقل «حفظ في المعامل»).
  • جدول القرارات — بدلاً من تعبير واحد في إجراء «الحساب»، يمكن تحديد قائمة قواعد «إذا → إذن»: تُعاد قيمة أول قاعدة يصح شرطها، وإلا القيمة الافتراضية.

البنية

  • العوامل: حسابية + - * / %، مقارنة == != < > <= >=، منطقية && || !، أقواس ( ).
  • القيم الحرفية: أرقام (42 و3.14)، نصوص بين علامات اقتباس ("مرحباً")، منطقية (true وfalse).
  • مراجع البيانات: داخل التعبير يمكن الإشارة إلى المعاملات وقيم السياق بالاسم — param.total وctx.items وrecipient.email.
  • استدعاء دالة: NAME(arg1, arg2). الأسماء غير حساسة لحالة الأحرف وتقبل الأسماء المستعارة بالروسية.

الدوال

الأسماء بصيغتها القياسية (الإنجليزية). كل دالة تقبل أيضاً اسماً مستعاراً بالروسية — يمكن الاطلاع عليه في التوثيق الروسي. حالة الأحرف لا تؤثر.

الرياضيات

SUM، AVERAGE، MAX، MIN، MOD، POW، SQRT، PI، ROUND، CEIL، FLOOR، TRUNC، ABS، RANDBETWEEN.

النصوص

LEN، LEFT، RIGHT، MID، LOWER، UPPER، UPPERFIRST، REPEAT، CONCAT، SUBSTITUTE، FIND، SEARCH، FIELD، TRIM، LTRIM، RTRIM، PADLEFT، PADRIGHT، SPLIT، JOIN، STARTSWITH، ENDSWITH، CONTAINS، NL.

المنطق

IF، AND، OR، NOT، EMPTY، ISNUMBER، COALESCE.

القوائم

SORT، RSORT، UNIQUE، FILTER، FOREACH، REDUCE، INDEX، SLICE، COUNTA، COUNTUNIQUE، ARRAYADD، ARRAYREMOVE، ARRAYREPLACE، ARRAYFIND.

التاريخ والوقت

TODAY، NOW، DATEADD، DATESUB، DATEDIF، DATEFORMAT، DATEVALUE، WEEKDAY.

JSON

TOJSON، FROMJSON، JSONPATH، JP، JSONOBJECT، JSONARRAY، KEYS، VALUES.

التشفير والترميز

HASH، TOBASE64، FROMBASE64، FROMJWT، FROMJWK.

المعاملات

PARAMID، PARAMREPLACE، PARAMREMOVE.

أمثلة

  • خصم 10% من المبلغ: {{= ROUND(param.total * 0.9) }}.
  • شرط: {{= IF(param.total > 1000, "جملة", "مفرد") }}.
  • تجميع نص: {{= CONCAT("طلب رقم ", ctx.order_id) }}.
  • حجم القائمة: {{= COUNTA(ctx.items) }}.

مختبر الصيغ

في محرر إجراء «الحساب» زر للتحقق: تُدخل التعبير وبيانات نموذجية، فتُعيد المنصة النتيجة وتُبرز أخطاء البنية — دون مغادرة المحرر. مفيد لتنقيح الصيغ الطويلة قبل حفظ التفاعل.

الخطوات التالية