תחליפים ונוסחאות

תחליפים הם משתנים בצורת {{...}} שמוכנסים לטקסטי הודעות, שדות פעולות ותבניות כפתורים בעת הפעלת ריאקציה. תחליפים שלא זוהו נשארים כמות שהם. בנוסף למשתנים יש נוסחאות לחישובים. כפתור "תחליפים" בעורך ההודעה מסייע בהכנסת משתנים.

נתוני השולח

  • {{first_name}}, {{last_name}} — שם פרטי ושם משפחה.
  • {{username}}@username של המשתמש.
  • {{user_id}} — מזהה Telegram מספרי.

נתוני אירוע וצ'אט

  • {{text}} (הוא גם {{received_message}}) — טקסט ההודעה הנכנסת.
  • {{message_id}} (הוא גם {{received_message_id}}) — מזהה ההודעה הנכנסת.
  • {{chat_id}}, {{chat_title}} (הוא גם {{chat_name}}) — הצ'אט שבו התרחש האירוע.
  • {{topic_id}}, {{topic_url}} — נושא (לפורומים).

תאריך ושעה

  • {{date}} — תאריך (YYYY-MM-DD), {{time}} — שעה (HH:MM), {{datetime}} — תאריך ושעה.
  • עיצוב: {{date:DD.MM.YYYY HH:mm}} — אסימונים YYYY, YY, MM, DD, HH, mm, ss.

פרמטרי משתמש

  • {{param.מפתח}} (הוא גם {{params.מפתח}} או {{recipient.מפתח}}) — ערך פרמטר המנוי. הפרמטרים מתמלאים בפעולות "שנה פרמטרים", "שמור הודעה" ותשובות בדיאלוג.

הקשר ביצוע (ctx)

  • {{ctx.מפתח}} (הוא גם {{context.מפתח}}) — ערכים זמניים של ההפעלה הנוכחית: נתוני webhook נכנס, תוצאות פעולות (בקשת רשת, שאילתת מקור, בינה מלאכותית), נתוני כפתור ששוחזרו (Carry), אלמנטי לולאה.
  • בלולאה על רשימה האלמנט זמין לפי הכינוי שלו, לדוגמה {{item.name}}.

נוסחאות

הבנייה {{= ביטוי}} מחשבת ביטוי ישירות בטקסט. אותו מנוע פועל בפעולת "חישוב" ובתנאי טבלת החלטות. בביטויים ניתן להפנות לפרמטרים ולערכי ctx לפי שם, להשתמש באריתמטיקה, השוואות, לוגיקה ועשרות פונקציות (ROUND, IF, CONCAT וכדומה).

דוגמה: {{= ROUND(param.total * 0.9) }} — הנחה 10% מהסכום מהפרמטר.

תחביר מלא ורשימת פונקציות — בקטע נוסחאות.

HTML בתחליפים

ההודעות נשלחות עם תגיות HTML. כדי שערך מוחלף לא ישבור את הפריסה (למשל כאשר שם משתמש מכיל <), ערכים מוחלפים עוברים כברירת מחדל escaping: תווי HTML הופכים לטקסט בטוח. תגיות שאתה כותב ישירות בטקסט הריאקציה (<b>, <a>, …) נשארות ללא שינוי.

אם הערך עצמו מכיל תגיות מוכנות (למשל הודעה השמורה בפרמטר עם <b>...</b>) ואתה רוצה להוסיף אותו כמות שהוא, הוסף לפני התחליף את הקידומת &:

  • {{& key}} — הוספה גולמית עבור תחליפי {{...}}.
  • {&user:key}, {&recipient:key}, {&global:key} — הוספה גולמית עבור תחליפי namespace.

הקידומת & מבטלת את ה-escaping עבור אותו תחליף בלבד — אתה ערב לאמינות מקור הערך. את הטוקנים שבשליטת המנוי ({{first_name}}, …) מומלץ להשאיר עם escaping.

בעת ייבוא בוטים מבונים אחרים, תחליפי namespace {user:…}/{recipient:…}/{global:…} מומרים אוטומטית לצורה הגולמית {&…} — הם בדרך כלל מכילים ערכים עם תגיות מוכנות, בדיוק כפי שזה עבד בבונה המקורי.

חשוב לגבי פורמט

תחליפים {{...}} פועלים בטקסטים, כיתובים, גופי בקשות ותבניות כפתורים. לפרמטרים ולמפתחות ctx תנו שמות קצרים ובאותיות לטיניות (email, total, order_id) — כך קל יותר להוסיפם.

המשך