הודעות וכפתורים
הפעולה "שלח הודעה" בונה את תשובת הבוט מבלוקים ומצרפת לה כפתורי inline, תפריט ראשי ושלבי דיאלוג. זוהי הפעולה העשירה ביותר בבונה — כאן גם מחברים תחליפים ופרמטרי הפניה של כפתורים.
בלוקי הודעה
הודעה היא רצף של בלוקים (כפתור הוסף בלוק):
- טקסט — טקסט מעוצב (עד 4096 תווים) עם תחליפים וכפתורים.
- תמונה — תמונה עם כיתוב.
- קובץ — מסמך עם כיתוב.
- עיכוב — השהייה בשניות לפני הבלוק הבא.
- בינה מלאכותית — תשובה שנוצרה על ידי מודל לפי פרומפט.
- ריאקציה — קריאה לריאקציה אחרת (אופציונלית — בהמתנה לעיבודה).
הבלוקים ניתנים לגרירה. מצב תצוגת הבלוקים — "לפי סדר" או "אקראי" (לתשובות מגוונות). תפריט הבוט הראשי ניתן להשאיר ללא שינוי, להגדיר חדש או להסתיר.
אפשרויות בלוק
לבלוקי טקסט ומדיה יש דגלים: נעץ, ללא צליל, הגנה מפני העברה, ספוילר, ללא תצוגה מקדימה של קישורים, מחיקה אוטומטית לאחר N שניות.
כפתורי Inline
בבלוק מגדירים כפתורים (טקסט הכפתור + סוג):
- טקסט (callback) — כפתור עם עיבוד לחיצה בצד הבוט.
- קישור — פותח URL.
- אפליקציית רשת — פותח מיני-אפליקציה של Telegram. ראו Mini App.
- קריאת ריאקציה — לחיצה מפעילה ריאקציה אחרת.
- קבלת תשלום והתראה — מסומנים כ"בקרוב".
סגנון הכפתור — רגיל, כחול (Primary), ירוק (Success) או אדום (Danger). הדגל "חד פעמי" שורף את הכפתור לאחר לחיצה.
התנהגות בלחיצה
עבור כפתורי callback מגדירים מה קורה בלחיצה: החלף טקסט כפתור, החלף הודעה (בטקסט או בתוכן ריאקציה מקושרת), מחק הודעה, דלג על answerCallbackQuery. לחיצה יכולה גם להוסיף תגיות ולהגדיר פרמטרים.
פרמטרים בכפתור (Carry)
הבלוק "Carry — תמונת מצב של נתונים בלחיצת הכפתור" מצרף לכפתור קבוצת ערכים שנלכדו ברגע השליחה. בלחיצה הערכים האלה מגיעים להקשר — כך כל כפתור נושא פרמטרים משלו (per-invocation), גם אם יש הרבה כפתורים. מגדירים תוחלת חיים של ה-payload בשניות. זוהי הבסיס לתרחישים "בחר מוצר → הזמן אותו דווקא".
כפתורים דינמיים
הבלוק "כפתורים דינמיים מרשימה" פורש מערך מ-ctx לכפתורים — אחד לכל אלמנט. מגדירים: מפתח הרשימה ב-ctx, כינוי האלמנט, מספר כפתורים בשורה ותבנית הכפתור (תומך ב-{{alias.שדה}}). כך בונים קטלוגים, רשימות רשומות ותפריטים מנתוני קולקציה. פרטים נוספים — כפתורים דינמיים ופרמטרים.
תשובה צפויה (שלבי דיאלוג)
בלוק טקסט יכול לחכות לתשובת המשתמש — הדבר הופך את ההודעה לשלב דיאלוג ועוצר את התרחיש עד לתשובה. מספר שלבים ברצף יוצרים שאלון או אשף ישירות בצ'אט.
סוג תוכן צפוי
הבוט יכול לחכות לסוג תשובה ספציפי: טקסט, בחירה מאפשרויות (כפתורי בחירה), תמונה, וידאו, הודעת וידאו עגולה, שמע, מסמך, הקלטה קולית, מיקום, איש קשר, לוח שנה או קובייה. אם המשתמש ישלח סוג שגוי, השלב יתייחס לתשובה כלא מתאימה.
אימות טקסט
לתשובת טקסט ניתן להפעיל בדיקת פורמט: טלפון, e-mail, קישור, תאריך, שעה או התאמה לנוסחה (ביטוי רגולרי). תשובה שלא עמדה בבדיקה נדחית, והבוט מציג הודעת שגיאה.
שמירת התשובה
ניתן לשמור את תשובת המשתמש לפרמטר — לאחר מכן היא זמינה בתחליפים כ-{{param.מפתח}} ובתנאים. כך שלבי הדיאלוג ממלאים פרופיל-מיני של הלקוח.
שגיאות, תזכורת ופסק זמן
- הודעה בשגיאת אימות — מה להציג אם התשובה לא עמדה בולידציה.
- תזכורת — מה לשלוח אם המשתמש שותק.
- ביטול ההמתנה לפי פסק זמן — לאחר כמה זמן להפסיק לחכות; בפסק זמן ניתן להפעיל ריאקציה (לדוגמה, לסיים את השאלון בעדינות). ריאקציה זו מופיעה בקשרים כ"פסק זמן המתנה", וריאקציה לתשובה עצמה — כ"תשובה צפויה".
תחליפים
הכפתור "תחליפים" מכניס משתנים: נתוני שולח ({{first_name}}, {{username}}, {{user_id}}), אירועים ({{text}}, {{chat_id}}, {{datetime}}) ופרמטרים ({{param.מפתח}}). הרשימה המלאה ונוסחאות — תחליפים ונוסחאות.
המשך
- תחליפים ונוסחאות — משתנים בטקסטים ובכפתורים.
- פעולות — פעולות ריאקציה אחרות.
- Mini App — כפתור אפליקציית רשת.