בוט טלגרם המנהל אוטומטית נעילה ופתיחה של קבוצות טלגרם במהלך שבת וחגים יהודיים, ועוזר לבעלי קבוצות לנעול אוטומטית את הקבוצה לפני כניסת שבת.
- ניהול קבוצות אוטומטי: נעילה/פתיחה אוטומטית של קבוצות במהלך שבת וחגים יהודיים
- הודעות מותאמות אישית: הגדרת הודעות אישיות לכניסת שבת ויציאת שבת עם תמיכה בטקסט ותמונות
- שילוב לוח עברי: שימוש בנתוני לוח עברי מדויקים לקביעת התזמון המדויק
- תמיכה בריבוי שפות: ממשק בעברית עם תמיכה בפקודות בעברית ואנגלית
- בקרת מנהלים: פקודות מאובטחות למנהלים בלבד לניהול קבוצות
- תמיכה בחגים: טיפול הן בשבת והן בחגים יהודיים מרכזיים
- טיפול שגיאות מתקדם: טיפול מקיף בתרחישי קצה שונים
- Python 3.8 או יותר
- אסימון בוט טלגרם (קבל מאת @BotFather)
- פרטי API של טלגרם API ID + API Hash
-
שכפול המאגר
git clone https://github.com/sudo-py-dev/shabat-bot.git cd shabat-bot
-
הגדרת סביבת עבודה וירטואלית
python -m venv venv source venv/bin/activate # ב-Windows: venv\Scripts\activate
-
התקנת ספריות תלות
pip install -r requirements.txt
-
הגדרת משתני סביבה
cp .env_example .env
ערוך את הקובץ
.env
עם הפרטים שלך:API_ID=your_api_id API_HASH=your_api_hash BOT_TOKEN=your_bot_token BEFORE_SHABAT=40
-
הרצת הבוט
python index.py
- הוסף את הבוט לקבוצה שלך עם הרשאות מנהל
- רשום את הקבוצה שלך:
/register
- הגדר הודעת כניסת שבת מותאמת אישית:
השב להודעה (טקסט או תמונה) שתרצה להשתמש בה כהודעת כניסה
/calendar
- הגדר הודעת הבדלה מותאמת אישית:
השב להודעה עבור הודעת היציאה
/havdalah
פקודה | תיאור | שימוש |
---|---|---|
/start |
הודעת ברכה ומידע על הבוט | בצ'אט פרטי בלבד |
/help |
הצגת פקודות זמינות | בצ'אט פרטי בלבד |
/register |
רישום קבוצה לניהול שבת | מנהל קבוצה בלבד |
/permission |
עדכון הרשאות קבוצה | מנהל קבוצה בלבד |
/calendar / /כניסה |
הגדרת הודעת כניסת שבת | מנהל קבוצה בלבד |
/havdalah / /הבדלה |
הגדרת הודעת יציאת שבת | מנהל קבוצה בלבד |
הבוט תומך בפקודות עבריות לדוברי עברית:
/כניסה
במקום/calendar
/הבדלה
במקום/havdalah
משתנה | תיאור | נדרש |
---|---|---|
API_ID |
מזהה API של טלגרם | כן |
API_HASH |
Hash של API טלגרם | כן |
BOT_TOKEN |
אסימון בוט טלגרם | כן |
BEFORE_SHABAT |
מספר דקות לפני כניסת השבת לנעילת הקבוצות (ברירת מחדל: 40) | לא |
- תזמון: הבוט מריץ מתזמן יומי הבודק זמני שבת/חג קרובים
- לוח עברי: משתמש ב-API של לוח עברי לקבלת תזמון מדויק להדלקת נרות והבדלה
- נעילת קבוצה: בזמן המתאים, נועל את הקבוצה על ידי הגבלת שליחת הודעות
- הודעות מותאמות אישית: שולח את ההודעות שהגדרת בעת נעילה/פתיחה
- פתיחה אוטומטית: פותח אוטומטית את הקבוצה בסיום השבת/החג
- מסגרת: Pyrogram (ספריית טלגרם אסינכרונית)
- מתזמן: APScheduler לתזמון מדויק
- מסד נתונים: SQLite לאחסון נתוני קבוצות
- לוח שנה: שילוב API לוח עברי
- מטמון: TTL cache להרשאות מנהלים
index.py
- יישום הבוט הראשי ומטפלי הודעותschaduler.py
- לוגיקת תזמון שבת/חגdatabase.py
- ניהול נתוני קבוצות והרשאותtools.py
- פונקציות עזר ושילוב לוח עבריenums.py
- תבניות הודעות וקבועי הרשאות
pyrotgfork - פרוק של pyrogram לניהול בוטים בטלגרם
apscheduler - תזמון משימות
sqlalchemy - ORM מסד נתונים
python-dotenv - ניהול משתני סביבה
pytz - טיפול באזורי זמן
hebcal-api - נתוני לוח עברי
cachetools - כלי מטמון
tgcrypto - הצפנת טלגרם
בעת הוספת הבוט לקבוצה, ודא שיש לו הרשאות מנהל אלה:
- מחיקת הודעות
- הגבלת חברים
- הבוט לא מגיב: בדוק אם אסימון הבוט נכון והבוט רץ
- הקבוצה לא ננעלת: ודא שהקבוצה רשומה עם
/register
ולבוט יש הרשאות מנהל - תזמון שגוי: הבוט משתמש באזור זמן ישראל (Asia/Jerusalem) לחישובים
- שגיאות הרשאה: ודא שלבוט יש את הרשאות המנהל הנדרשות בקבוצה
הבוט מתעד את כל הפעילויות למסוף ושומר קובץ יומן. בדוק את היומנים למידע מפורט על שגיאות.
תרומות יתקבלו בברכה! אנא שלח בקשת משיכה (Pull Request).
- Fork את המאגר
- צור ענף תכונה (feature branch)
- בצע את השינויים שלך
- בדוק היטב
- שלח בקשת משיכה
הפרויקט מורשה תחת רישיון MIT.
- נתוני לוח עברי מסופקים על ידי Hebcal API
- נבנה עם pyrotgfork
אם אתה צריך עזרה או יש לך שאלות:
- בדוק את היומנים עבור הודעות שגיאה
- בדוק את ההגדרות בקובץ
.env
- ודא שכל ספריות התלות מותקנים כראוי
- בדוק הרשאות בוט בקבוצה שלך
שבת שלום! 🕯️✨