פרויקט זה מאפשר שליחה אוטומטית של עדכונים על פרקי פודקאסטים מערוצי RSS לערוץ Telegram. הוא כולל אפשרויות לניהול פודקאסטים בבסיס נתונים, הורדת קבצי פרקים ושליחת התראות ל-Telegram.
בוט הפודקאסטים ל-Telegram מאפשר קבלת פרקים מערוצי RSS שונים ושליחת עדכונים, כולל קישורים ותיאורים, לערוץ Telegram ייעודי. זהו כלי שימושי להפצת פודקאסטים לקהילה באופן אוטומטי.
- קבלת פרקי פודקאסטים מערוצי RSS.
- סינון ועיבוד נתוני פודקאסטים.
- הורדת קבצי פודקאסטים.
- שליחת עדכונים מעוצבים לערוץ Telegram.
- ניהול ערוצי פודקאסטים בבסיס נתונים.
- תמיכה בהרצה בסביבת Docker.
- Python 3.7+ (אם לא משתמשים ב-Docker)
- Token של בוט Telegram
- Docker (לסביבת הרצה במכולה)
-
יש לשכפל את המאגר:
git clone https://github.com/ZviCode/rss-podcast-to-telegram.git cd rss-podcast-to-telegram -
יצירת סביבה וירטואלית והפעלתה:
python -m venv venv source venv/bin/activate # ב-Windows יש להשתמש ב `venv\Scripts\activate`
-
התקנת התלויות הנדרשות:
pip install -r requirements.txt
-
הגדרת בסיס הנתונים PostgreSQL והטבלאות כפי שמתואר בקובץ
tables.py. -
יצירת קובץ
.envבספריית השורש עם ההגדרות שלך (ראה הגדרה).
-
ודא כי Docker מותקן ורץ על המחשב שלך.
-
בניית התמונה של Docker:
docker build -t rss-podcast-bot . -
יצירת קובץ
.envבספריית השורש עם ההגדרות שלך (ראה הגדרה).
יש ליצור קובץ .env בספריית השורש ולהוסיף את המשתנים הבאים:
START_PATH=/app/downloads
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
TELEGRAM_CHAT_ID=-1001995413878
DATABASE_URL=your-database-url
START_PATH: נתיב הספריה לאחסון קבצי הפודקאסטים שהורדו.TELEGRAM_BOT_TOKEN: Token של בוט Telegram לשליחת הודעות.TELEGRAM_CHAT_ID: מזהה הערוץ ב-Telegram אליו יש לשלוח את העדכונים.DATABASE_URL: מחרוזת ההתחברות לבסיס הנתונים שלך PostgreSQL.
-
הפעלת הסביבה הווירטואלית:
source venv/bin/activate # ב-Windows יש להשתמש ב `venv\Scripts\activate`
-
הרצת הסקריפט
app.pyלהתחלת קבלת הפרקים ועיבודם:python app.py
-
הרצת המכולה של Docker:
docker run -d --name rss-podcast-bot --env-file .env rss-podcast-bot
פקודה זו תתחיל את המכולה במצב נפרד ותהריץ את הסקריפט כל שעה כפי שצוין בקובץ
crontab.
להוספת ערוץ RSS חדש לבסיס הנתונים, יש לפעול על פי ההנחיות הבאות:
-
ודא כי בסיס הנתונים מוגדר וזמין עם ה-
DATABASE_URLשצוין בקובץ.env. -
השתמש בפונקציה
add_podcastמתוך הקובץrepo.pyלהוספת ערוץ RSS חדש.import repo podcast_name = 'שם הפודקאסט שלך' rss_link = 'https://your-podcast.com/rss' chat_id = '-1001234567890' # החלף במזהה הערוץ שלך ב-Telegram repo.add_podcast(podcast_name, rss_link, chat_id)
-
ניתן להריץ את הסקריפט הנ"ל או להוסיף אותו לסקריפט הראשי להוספת ערוצי RSS באופן דינמי.
להרצת הפרויקט באמצעות Docker, פעל לפי ההוראות הבאות:
-
ודא כי הקבצים הבאים נמצאים בספריית השורש בנוסף לקבצים הרגילים:
Dockerfile: מגדיר את תמונת Docker.crontab: מגדיר את עבודת ה-cron להרצת הסקריפט כל שעה.requirements.txt: מפרט את התלויות הנדרשות לפרויקט.
-
בניית תמונת Docker:
docker build -t rss-podcast-bot . -
הרצת מכולת Docker:
docker run -d --name rss-podcast-bot --env-file .env rss-podcast-bot
-
בדיקת יומנים כדי לוודא שהסקריפט פועל כראוי:
docker logs rss-podcast-bot
app.py: הסקריפט הראשי לקבלה, עיבוד ושליחת עדכונים על הפודקאסטים.repo.py: פעולות בסיס הנתונים והורדת הקבצים.utils.py: פונקציות עזר להודעות ופעולות על קבצים.config.py: ניהול הגדרות באמצעות משתני סביבה..env: קובץ ההגדרות של הסביבה.requirements.txt: רשימת התלויות של הפרויקט.Dockerfile: קובץ Docker ליצירת תמונה של Docker.crontab: קובץ crontab להגדרת עבודת cron.README.md: קובץ זה..gitignore: קבצים שלא ישמרו במאגר.
- chatgpt (readme file)
- my_telegram_group(idea)