בוט טלגרם אינטראקטיבי ללימוד Markdown באמצעות שיעורים יומיים, מבחנים ומעבדת תרגול בזמן אמת.
- 15 שיעורים מקיפים - מהבסיס ועד מתקדם
- מבחנים אינטראקטיביים - עם משוב מיידי
- 3 רמות קושי: בסיסי, מתקדם, אסתטיקה
- מעקב אחר התקדמות - ניקוד, דרגות וסטטיסטיקות
- המרת Markdown לתמונה - ראה את התוצאה בזמן אמת
- רינדור מלא - תמיכה בכל תחביר Markdown
- עיצוב מקצועי - CSS מעוצב כמו GitHub
- תמיכה בעברית - כיווניות RTL מלאה
- אימון ממוקד - תרגול נושאים ספציפיים עם אתגרים מדורגים
- למידה מותאמת אישית - 3 קצבי למידה
- זיהוי נקודות חולשה - המלצות לחזרה
- מערכת דרגות - 4 רמות מומחיות
- Cheatsheet אינטראקטיבי - גישה מהירה למידע
- Node.js 18+
- npm או yarn
- חשבון בוט בטלגרם (דרך @BotFather)
# שכפול הפרויקט
git clone https://github.com/yourusername/markdown-trainer-bot.git
cd markdown-trainer-bot
# התקנת תלויות
npm installצור קובץ .env בשורש הפרויקט:
cp .env.example .envערוך את .env והוסף את טוקן הבוט שלך:
TELEGRAM_BOT_TOKEN=your_bot_token_here
PORT=3000
DATABASE_PATH=./database/users.db
SANDBOX_ENABLED=true# פיתוח (עם auto-restart)
npm run dev
# ייצור
npm startmarkdown-trainer-bot/
├── index.js # נקודת כניסה ראשית
├── package.json # תלויות והגדרות
├── .env.example # דוגמה למשתני סביבה
├── .gitignore # קבצים להתעלמות
│
├── database/
│ └── db.js # מנהל מסד נתונים SQLite
│
├── handlers/
│ ├── commandHandler.js # טיפול בפקודות (/start, /help, /train וכו')
│ └── messageHandler.js # טיפול בהודעות ולחיצות כפתורים
│
├── lessons/
│ └── lessonsData.js # כל תוכן 15 השיעורים
│
├── training/
│ └── trainingData.js # בנק אתגרי האימון הממוקד
│
├── templates/
│ └── templatesData.js # תבניות Markdown מוכנות לשימוש
│
└── services/
└── markdownRenderer.js # המרת Markdown לתמונה (Puppeteer)
| פקודה | תיאור |
|---|---|
/start |
התחלה / איפוס הבוט |
/next |
עבור לשיעור הבא |
/train |
התחל אימון ממוקד בנושא ספציפי |
/cancel_training |
בטל אימון פעיל |
/sandbox |
פתח מעבדת תרגול |
/exit |
צא ממעבדת תרגול |
/templates |
גישה לתבניות Markdown מוכנות |
/progress |
הצג התקדמות וסטטיסטיקות |
/cheatsheet |
מדריך מהיר לתחביר |
/didyouknow |
כרטיסיות "הידעת?" חכמות |
/help |
הצג עזרה |
- התחלה - שלח
/startלבוט - בחירת קצב - בחר קצב למידה (רגוע/רגיל/מהיר)
- שיעור ראשון - קבל שיעור אוטומטי
- מבחן - ענה על שאלת הבחנה
- התקדמות - שלח
/nextלהמשך - תרגול - השתמש ב-
/sandboxלתרגול חופשי
מצב האימון הממוקד (/train) מאפשר תרגול מכוון בנושאים ספציפיים:
- בחר נושא - טבלאות, קישורים ותמונות, רשימות מתקדמות, או דיאגרמות Mermaid
- פתור אתגרים - 3-5 אתגרים ברמות קושי הולכות וגדלות
- קבל משוב מיידי - בדיקה אוטומטית עם הסבר על תשובות
- השתמש בעזרים - רמזים, דילוג, או יציאה בכל שלב
נושאי אימון זמינים:
- 📊 טבלאות - יצירה, יישור, וטבלאות מורכבות
- 🔗 קישורים ותמונות - קישורים פשוטים, תמונות, וקישורי הפניה
- 📋 רשימות מתקדמות - תתי-רשימות, רשימות מעורבות, ורשימות משימות
- 📈 דיאגרמות Mermaid - תרשימי זרימה ודיאגרמות רצף
משתמש: /train
בוט: בחר נושא לתרגול...
משתמש: [בוחר "טבלאות"]
בוט: 🎯 אתגר קל - צור טבלה עם 2 עמודות...
משתמש: [שולח פתרון]
בוט: ✅ מצוין! התקדמות: 1/4
משתמש: /sandbox
בוט: 🧪 מצב מעבדה מופעל! שלח Markdown...
משתמש:
# כותרת ראשית
## כותרת משנה
זהו טקסט **מודגש** וזה *נטוי*.
- פריט 1
- פריט 2
בוט: [שולח תמונה של הטקסט המעוצב]
- העלה את הקוד ל-GitHub
- ודא שיש
package.jsonעם:{ "scripts": { "start": "node index.js" } }
- היכנס ל-Render.com
- לחץ New + → Web Service
- חבר את ה-repository שלך מ-GitHub
- הגדר:
- Name:
markdown-trainer-bot - Environment:
Node - Build Command:
npm install - Start Command:
npm start - Instance Type:
Free
- Name:
בעמוד ההגדרות של Render, הוסף:
TELEGRAM_BOT_TOKEN = your_actual_bot_token
PORT = 3000
DATABASE_PATH = ./database/users.db
SANDBOX_ENABLED = true
- לחץ Create Web Service
- Render יבנה ויפרוס את הבוט אוטומטית
- הבוט יתחיל לעבוד תוך 2-3 דקות
Puppeteer על Render:
הפעלת Puppeteer על Render דורשת תלויות נוספות. אם תקבל שגיאות, הוסף את זה ל-package.json:
{
"scripts": {
"install": "npx puppeteer browsers install chrome"
}
}- Node.js - סביבת הרצה
- Telegram Bot API - ממשק בוט
- SQLite - מסד נתונים מקומי
- Puppeteer - רינדור דפדפן headless
- Marked - המרת Markdown ל-HTML
- Express - שרת HTTP (לבדיקות Render)
user_id- מזהה ייחודיusername,first_name,last_namecreated_at,last_active
current_lesson- שיעור נוכחיtotal_score- ניקוד כוללlevel- דרגה (Beginner → Master)lessons_completed- מספר שיעורים שהושלמוcorrect_answers,wrong_answers
- תיעוד כל תשובה למבחן
- מועד השלמה
- ביצועים לפי נושא (כותרות, קישורים וכו')
- זיהוי נקודות חולשה
- מעקב אחר סשנים של אימון ממוקד
- נושא, מספר אתגרים, אחוז הצלחה
- סטטוס: active, completed, cancelled
- מעקב אחר מצב משתמש (normal, sandbox, training)
- נתוני מצב (JSON) לשמירת התקדמות
ערוך את ה-CSS ב-services/markdownRenderer.js בפונקציה createStyledHtml():
// שנה צבעים
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
// שנה גופנים
font-family: 'Assistant', sans-serif;ערוך את lessons/lessonsData.js:
{
id: 16,
title: 'שיעור חדש',
topic: 'new-topic',
category: 'advanced',
points: 10,
messages: ['תוכן השיעור...'],
quiz: {
question: 'שאלה?',
options: [...],
correctFeedback: '...',
wrongFeedback: '...'
}
}- בדוק שהטוקן ב-
.envנכון - ודא ש-polling פועל (אין שגיאות בקונסול)
- בדוק חיבור אינטרנט
- הרץ:
npm install puppeteer --save - על Linux: התקן תלויות נוספות
sudo apt-get install -y chromium-browser
- ודא שתיקיית
database/קיימת - בדוק הרשאות כתיבה
- התיקייה
output/תתמלא בתמונות - הקוד מנקה אוטומטית קבצים ישנים מעל 24 שעות
- ניתן להריץ ניקוי ידני:
renderer.cleanupAllOldFiles();
MIT License - חופשי לשימוש ושינוי
רוצה לתרום? מוזמן!
- Fork את הפרויקט
- צור branch חדש (
git checkout -b feature/amazing-feature) - Commit את השינויים (
git commit -m 'Add amazing feature') - Push ל-branch (
git push origin feature/amazing-feature) - פתח Pull Request
יוצר: Amir Biron
טלגרם: @amirbiron
נוצר עם ❤️ על ידי המפתח של Markdown Trainer Bot
🌟 אם הבוט עזר לך, תן ⭐ ב-GitHub!