Show Command ============ מפרט פקודת `/show` -------------------- - התנהגות ברירת מחדל: ללא ארגומנטים, נשלחת הודעת שימוש ידידותית. כאשר שם הקובץ חסר/לא קיים, נשלחת הודעת "לא נמצא". - עיצוב קוד: גם שם הקובץ (`file_name`) וגם תוכן הקוד עוברים תמיד `html.escape`. יש לשמור על אחידות ולהעדיף `ParseMode=HTML`. - מבנה מקלדת (Keyboard): - שורות כפתורים לדוגמה: מחיקה, עריכה, עריכת הערה, הורדה, שיתוף, ומועדפים. - כפתור מועדפים: הטקסט משתנה לפי מצב (⭐ הוסף / 💔 הסר). - מגבלת 64 bytes ל-`callback_data`: כולל הקידומת. - העדפה להשתמש ב-`_id` כאשר `(len('fav_toggle_id:') + len(id)) <= 60`. - אחרת: שימוש בטוקן קצר `token_urlsafe(6)` חתוך לכ~24 תווים, ושמירת המיפוי תחת `context.user_data['fav_tokens'][short_tok] = file_name`. דוגמת תגובת HTML ----------------- .. code-block:: html File: readme.md Language: markdown
<b>x</b>
הערות יישום ------------ - יש לקרוא `html.escape` על כל תוכן שמקורו מהמשתמש (קוד, שמות קבצים, הערות). - בתשובות ארוכות: ניתן להשתמש בפיצול בטוח להודעות ארוכות (4096 תווים) באמצעות פונקציה ייעודית. - יש להגדיר `ParseMode=HTML` באופן קונסיסטנטי כדי למנוע חוסר אחידות עם Markdown. קישורים ------- - :doc:`../security` - :doc:`../testing`