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`