בוט טלגרם ללימוד Python, מוכן לפריסה ברנדר - #1
Open
YoniLabell wants to merge 2 commits into
Open
YoniLabell wants to merge 2 commits into
YoniLabell wants to merge 2 commits into
Conversation
בוט בעברית שמלמד Python מאפס: 12 שיעורים עם הסבר, דוגמת קוד, תרגיל וחידון, כולל מעקב התקדמות לכל משתמש. - main.py בוחר webhook או polling לפי RENDER_EXTERNAL_URL, כך שאותו קוד רץ ברנדר ובפיתוח מקומי בלי שינוי - render.yaml מגדיר את השירות כ-Blueprint לפריסה בלחיצה אחת - התקדמות, ציוני חידונים ורצף יומי נשמרים ב-SQLite, מחוץ ללולאת האירועים - מורה חכם מבוסס Claude ל-/ask ולבדיקת תרגילים, אופציונלי; בלי מפתח API הבוט נופל בעדינות לבדיקה היוריסטית וכל החומר נשאר זמין - הרצת קוד תרגילים בתת-תהליך עם מגבלות CPU, זיכרון וכתיבה, כבויה כברירת מחדל - 127 בדיקות: קומפילציה של כל דוגמאות הקוד, התאמת פלט הפתרונות, תקינות ה-HTML של כל הודעה שנשלחת, וכיסוי לכל כפתור במקלדות Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Bf46SdpBT3AF138X9i5Uo
מקשר את שתי ההיסטוריות כדי שה-pull request יציג diff מלא מול main. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Bf46SdpBT3AF138X9i5Uo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
בוט טלגרם בעברית שמלמד Python מאפס. 12 שיעורים, ובכל אחד הסבר, דוגמת קוד, תרגיל מעשי וחידון רב-ברירה עם הסבר לכל תשובה. ההתקדמות של כל תלמיד נשמרת: שיעורים שהושלמו, אחוזי הצלחה בחידונים ורצף למידה יומי.
פריסה ברנדר בלי הגדרה ידנית
main.pyמזהה אתRENDER_EXTERNAL_URLשרנדר מזריקה, נרשם מול טלגרם כ-webhook ומאזין עלPORT. בלי המשתנה הזה הוא עובר אוטומטית ל-polling, כך שאותו קוד רץ גם בפיתוח מקומי.render.yamlמגדיר את השירות כ-Blueprint, ונשאר רק למלא את הטוקן מ-BotFather בדשבורד.מה יש בבוט
ANTHROPIC_API_KEYהבוט נופל בעדינות לבדיקה היוריסטית, וכל החומר נשאר זמין במלואו.בדיקות
127 בדיקות עוברות (
python -m pytest). הן מקמפלות את כל דוגמאות הקוד והפתרונות, מריצות כל פתרון שיש לו פלט מצופה ומשוות אליו, מוודאות שכל הודעה שהבוט שולח היא HTML חוקי לטלגרם ומתחת למגבלת האורך, ובודקות שכל כפתור מוביל לפעולה קיימת ושה-callback_dataנשאר מתחת ל-64 בתים.עליית הבוט אומתה עד ניסיון החיבור לטלגרם עצמו, שחסום ברשת של סביבת הפיתוח. החיבור בפועל לא נבדק.
נקודות לתשומת לב לפני מיזוג
ENABLE_CODE_RUNNERמריץ קוד שנשלח מטלגרם על השרת. ההגבלות שבקוד הן שכבות הגנה, לא בידוד מלא. הוא כבוי כברירת מחדל, וה-README ממליץ על קונטיינר ייעודי ללא גישת רשת להפעלה ציבורית.DATA_DIR.mainנוצר בשביל ה-PR הזה. הריפו היה ריק לגמרי, אז אין מול מה להשוות.mainהוא commit ריק, וברירת המחדל של הריפו עדיין מצביעה על ענף הפיתוח. כדאי להעביר אותה ל-mainבהגדרות הריפו אחרי המיזוג.🤖 Generated with Claude Code
https://claude.ai/code/session_012Bf46SdpBT3AF138X9i5Uo
Generated by Claude Code