סקריפט חדש לכתיבה לטלגרם

03/03/2026

בעקבות הערה בקבוצת הדיונים על כך שלא כל הפוסטים מצליחים להגיע במלואם לטלגרם קיבלתי המלצה על ספריה שכותבת מארקדאון לטלגרם. הפוסט הזה הוא הראשון שנשלח עם הספריה החדשה וכולי תקווה שהוא יגיע ליעדו, אבל לפני שאספר לכם איך ה AI שילב את הספריה החדשה בסקריפט בואו נבין למה בכלל צריך ספריה לכתיבת מארקדאון לטלגרם ומה היה עד עכשיו.

1. המצב הנוכחי

טלגרם קצת נודניקים ויש המון תווים בטקסט רגיל שבשליחה לטלגרם בפורמט מארקדאון דורשים הגנה, כלומר הוספה של \ לפניהם. זה הקוד שאני כתבתי לטיפול בהמרות אלה:

def escape_text(text):
    return (text.
                replace('>', '\\>').
                replace("+", "\\+").
                replace("-", "\\-").
                replace("=", "\\=").
                replace(".", "\\.").
                replace("(", "\\(").
                replace(")", "\\)").
                replace("!", "\\!"))

בנוסף טלגרם מגבילים את האורך כל כל הודעה לאזור ה 4,000 תווים ולכן כשיש פוסטים ארוכים צריך לפצל אותם בין כמה הודעות. ואם שתלנו בלוק של קוד בתוך פוסט ארוך כזה והפיצול הוא בדיוק באמצע הקוד צריך לסגור את הבלוק של הקוד לפני הפיצול ואז לפתוח בלוק של קוד חדש בהודעה החדשה. וגם החוקים קצת משתנים כשאנחנו בתוך בלוק של קוד וגם בזה הקוד של הסקריפט טיפל.

2. ספריית telegramify-markdown

ספריה בשם telegramify-markdown עושה בדיוק את כל הכאב ראש עליו סיפרתי קודם והיא בטוח מתוחזקת יותר מהסקריפט שאני כתבתי ובעקבות המלצה בקבוצת הטלגרם נתתי ל minimax לשלב אותה בסקריפט. הפרומפט היה:

read
https://github.com/sudoskys/telegramify-markdown

add the library to requirements.txt and integrate it in the project to ensure messages are always sent correctly to telegram

אגב עבור המשימה הזאת הרצתי את מינימקס בתוך אופןקוד ולא בתוך קלוד קוד, סתם בשביל הגיוון.

מינימקס לא התבלבל, התקין את הספריה, זיהה את המנגנונים שקיימים אצלי בקוד שגם קיימים בספריה והחליף את הקוד שלי בקוד מהספריה. אבל הקוד לא עבד. אחרי כמה הודעות שגיאה שמתי לב שאני משתמש בספריית פייתון בשם telepot לכתיבה לטלגרם ובדוגמאות של telegramify-markdown משתמשים ב telebot. ביקשתי ממינימקס להחליף וזה סידר את השגיאות. בנקודה הזאת הרצתי סקריפט שכותב פוסט לקבוצה בטלגרם וראיתי שהפוסט נכתב (חלקכם אולי שמתם לב להודעות הקופצות בקבוצה - זאת היתה הסיבה).

3. כשמינימקס התבלבל

הבאג הבא היה שנעלמו לי ירידות השורה מהפוסט. שאלתי את מינימקס והוא זיהה שהבעיה היא ב telegramify-markdown שאוכל את ירידות השורה. הוא התעקש שזה באג בספריה והציע כל מיני מעקפים.

אני לא רציתי את המעקפים ושמתי לב שהגרסה העדכנית של הספריה היא עדיין rc אז ביקשתי להחליף לגרסה היציבה האחרונה של הספריה. מינימקס זיהה שזו גרסה 0.5.4, לא נלחץ כשגילה שה API שלה שונה לגמרי ועדכן את הקוד לעבוד עם הגרסה הקודמת. הפעם הכל עבד כולל ירידות השורה.

4. לקחים ומחשבות להמשך

עדיין מוקדם לסמן הצלחה כי זה הפוסט הראשון שאני שולח אחרי ההחלפה ואני מקווה שהוא יעבור בשלום. כמה נקודות שאני כן רוצה לציין מהתהליך:

  1. הקונטקסט של מינימקס בתוך אופןקוד ממש נוהל בסדר ואוטומטית. עשיתי את כל השינויים בשיחה אחת. ייתכן וכבר או בעתיד הקרוב העצה של לפתוח שיחות חדשות הופכת פחות רלווונטית.

  2. מינימקס התנהג כמו טייס אוטומטי וכל הזמן ניסה להתקדם. החלק שלי היה לשים לב כשהוא נתקע ולשנות כיוון (למשל כשהיה צריך לנסות גרסה ישנה יותר או להחליף ספריה אחרת בפרויקט).

  3. החיים היו הרבה יותר קלים אם היה לי אוסף בדיקות טוב לסקריפט, אבל אפילו מעט הבדיקות שהיו הספיקו כדי לעזור למינימקס להבין שהוא בכיוון או לא. בתוכנית גדולה יותר הייתי מתאמץ לחבר אותו לטלגרם שיוכל לכתוב לעצמו ולקרוא את מה שהוא כותב.