שיתוף קוד (חשוב)
- summary:
כפתור ”🔗 שתף קוד“ יוצר שיתוף מהיר של קובץ דרך GitHub Gist או Pastebin. הכפתור נושא את ה-ObjectId של הגרסה שהייתה קיימת כשהוא נוצר, ולכן הוא מצמיד גרסה ואינו מבטיח את התוכן העדכני.
מה זה עושה?
כפתור ”🔗 שתף קוד“ מאפשר ליצור שיתוף מהיר של קובץ קוד דרך GitHub Gist או Pastebin.
יש שתי צורות ל-callback_data של הכפתור, והן מתנהגות אחרת:
share_menu_id:<ObjectId>— המזהה נצרב בכפתור. זה המסלול ברוב המקומות (handlers/documents.py,handlers/save_flow.py,large_files_handler.py).share_menu_idx:<אינדקס>— הכפתור נושא אינדקס לתוךfiles_cacheשב-context.user_data(handlers/file_view.py,conversation_handlers.py). אם הקאש הוחלף מאז שהכפתור רונדר, אותו אינדקס עלול להצביע על קובץ אחר.
אזהרה
קובץ רגיל (``code_snippets``): ה-ObjectId מצמיד גרסה, לא קובץ.
save_code_snippet מעלה את version ב-1 ויוצר מסמך חדש, ולכן כפתור
שרונדר לפני עריכה ישתף את הגרסה שהייתה אז.
קובץ גדול (``large_files``): save_large_file מוחק את המסמך הישן
ומכניס חדש, בלי לשמור גרסה קודמת. כפתור ישן לקובץ גדול ייכשל (”קובץ לא
נמצא“) במקום לשתף גרסה קודמת.
בכל מקרה — לשיתוף התוכן העדכני יש לפתוח את הקובץ מחדש ולהשתמש בכפתור שמופיע בתצוגה הנוכחית.
איפה הכפתור מופיע?
בתפריט פריט קובץ לפני ”הצג קוד“.
בתוך תצוגת ”הצג קוד“ של הקובץ.
בהודעת ההצלחה לאחר שמירת קובץ (גם בהדבקת קוד וגם לאחר העלאת קובץ מצורף).
איך זה עובד (זרימה)
לוחצים על ”🔗 שתף קוד“.
נפתח תפריט בין שני שירותים: ”🐙 GitHub Gist“ או ”📋 Pastebin“.
לאחר בחירה, הבוט מעלה את התוכן לשירות ומחזיר קישור שיתוף.
ניתן לבטל בכל רגע על ידי כפתור ”❌ ביטול“ בתפריט.
דרישות
GitHub Gist:
נדרש חיבור של חשבון ה-GitHub האישי דרך הבוט: תפריט ראשי ← 🔧 GitHub.
ה-Gist נוצר תחת החשבון האישי של המשתמש, ולא תחת חשבון המערכת — כך הוא מופיע ברשימת ה-Gists שלו, מיוחס אליו, והוא יכול לערוך או למחוק אותו.
GITHUB_TOKEN(משתנה הסביבה) אינו משמש ליצירת Gist. הוא שייך לחשבון שמריץ את הבוט ומשמש לפעולות תפעוליות בלבד.בלי חיבור אישי תוצג הודעה עם הנחיה להתחבר, או להשתמש ב-Pastebin.
Pastebin:
PASTEBIN_API_KEY– נדרש בסביבת הריצה. אין צורך בחיבור אישי של המשתמש.
מגבלות והתנהגות
השיתוף מתבצע לפי ObjectId; אם אין מזהה זמין, הבוט יתריע.
תוכן ריק/חסר יגרום לביטול השיתוף עם הודעת שגיאה ברורה.
ייתכנו מגבלות גודל בצד השירותים (Gist/Pastebin) – במקרים כאלו תוצג הודעת כשל.
הודעות הצלחה/שגיאה
הצלחה: קישור ישיר חוזר בהודעה (כולל שם הקובץ).
שגיאה: הודעה ידידותית. עבור Gist מבחינים בין שני מצבים: חשבון GitHub שלא חובר (הודעה עם הנחיית חיבור) לבין תקלה זמנית בגישה לטוקן (הודעת ”נסה שוב“).
Troubleshooting קצר
Gist לא עובד? ודאו שחיברתם את חשבון ה-GitHub דרך תפריט ראשי ← 🔧 GitHub. אם הטוקן פג או נשלל, הבוט יבקש לחבר מחדש.
Pastebin לא עובד? ודאו ש-
PASTEBIN_API_KEYהוגדר בסביבת הריצה.בדקו שהתוכן אינו ריק ושקובץ באמת קיים למשתמש הנוכחי.
אם שירות חיצוני מחזיר שגיאה זמנית – נסו שוב מאוחר יותר.
דוגמאות (טקסטואליות)
תפריט פריט קובץ:
[👁️ הצג קוד] [✏️ ערוך]
[📝 שנה שם] [📝 ערוך הערה]
[📚 היסטוריה] [📥 הורד]
[🔗 שתף קוד]
[🔄 שכפול] [🗑️ מחק]
תצוגת קובץ:
[✏️ ערוך קוד] [📝 ערוך שם]
[📝 ערוך הערה] [📚 היסטוריה]
[📥 הורד] [🔄 שכפול]
[🔗 שתף קוד]
[🔙 חזרה]
הודעת הצלחה לאחר שמירה:
[👁️ הצג קוד] [✏️ ערוך]
[📝 שנה שם] [📝 ערוך הערה]
[📚 היסטוריה] [📥 הורד]
[🗑️ מחק]
[🔗 שתף קוד]
[🔙 לרשימה]