• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    1. דף הבית
    2. צבי ד"צ
    3. נושאים
    צ
    • פרופיל
    • עוקב אחרי 15
    • עוקבים 12
    • נושאים 66
    • פוסטים 1813
    • הגבוה ביותר 474
    • שנוי במחלוקת 3
    • קבוצות 1

    נושאים שנוצרו על ידי צבי ד"צ

    • צ

      נפתר למה לוקח יותר זמן להעלות קבצי wav מאשר mp3?
      טיפים עצות והדגמות מהמשתמשים • • צבי ד"צ

      10
      0
      הצבעות
      10
      פוסטים
      112
      צפיות

      ש

      @צבי-ד-צ
      כן כי אז המערכת לא ממירה את הקובץ

    • צ

      לא מצליח לנייד מספר עם SMS
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      10
      0
      הצבעות
      10
      פוסטים
      129
      צפיות

      A

      @צבי-ד-צ כתב בלא מצליח לנייד מספר עם SMS:

      ום שלא צריך, מישהו יודע משהו על זה?

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

    • צ

      פעולות למתקשר בהעברת השיחה
      שאלות ועזרה הדדית • • צבי ד"צ

      1
      0
      הצבעות
      1
      פוסטים
      47
      צפיות

      אין תגובות

    • צ

      נקודות עצירה בהשמעת קבצים
      שאלות ועזרה הדדית • • צבי ד"צ

      1
      0
      הצבעות
      1
      פוסטים
      41
      צפיות

      אין תגובות

    • צ

      נפתר עזרה דחופה במודל הסרת ערך, מה לא טוב במה שעשיתי?
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      5
      0
      הצבעות
      5
      פוסטים
      76
      צפיות

      ב

      @צבי-ד-צ בטעות נכנס לך ההגדרה של הוספת ערך

      e871223a-f786-4874-9195-dc018c2f1bd2-image.png

    • צ

      שימו לב - בקשר לפרסומת של פריגת בכניסה למערכות של ימות המשיח
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      8
      3
      הצבעות
      8
      פוסטים
      199
      צפיות

      צ

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

    • צ

      התייעצות: מה עדיף, מספר אחד או שני מספרים?
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      2
      0
      הצבעות
      2
      פוסטים
      81
      צפיות

      A

      @צבי-ד-צ
      מהנסיון שלי, יש מעלות במערכת אחת -
      1, ההפניה לשלוחות, בהעברת קבצים משלוחה לשלוחה וכדו', יותר קל במערכת אחת {גם מצד ההגדרות הנדרשות וגם מצד מי שמתפעל את הקו},
      2, כל התפעול, קל יותר כשהכל נמצא במערכת אחת,
      למשל - א"א לפתוח במקביל 2 מערכות תוכן {באתר}, אולי באתר החדש {האחרון, שעוד לא פורסם} כן, לא ניסיתי, וכדו'.

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

      בהצלחה

    • צ

      בקשה לעזרה בקוד פייתון לפעולה במערכת
      פורום מפתחים API • • צבי ד"צ

      8
      0
      הצבעות
      8
      פוסטים
      173
      צפיות

      צ

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

      import requests import csv import io import logging import sys import os import traceback from datetime import datetime, timedelta from typing import List, Dict, Tuple # הגדרת לוגינג log_dir = os.path.join(os.path.dirname(__file__), 'logs') os.makedirs(log_dir, exist_ok=True) log_file = os.path.join(log_dir, 'time_utilization.log') logging.basicConfig( level=logging.DEBUG, # שינוי לרמת דיבאג מלאה format='%(asctime)s - %(levelname)s - %(message)s', handlers=[ logging.FileHandler(log_file, encoding='utf-8', mode='w'), # מחיקת קובץ לוג קודם logging.StreamHandler(sys.stdout) ] ) # קבועים TOKEN = "079607777:123456" BASE_URL = "https://www.call2all.co.il/ym/api" def convert_hours_to_hebrew_format(total_hours: float) -> str: """המרת שעות לפורמט של שעות ודקות בעברית""" hours = int(total_hours) minutes = int((total_hours - hours) * 60) return f"{hours} שעות ו{minutes} דקות" def get_hebrew_day_name(date: datetime) -> str: """החזרת שם יום בעברית""" hebrew_days = { 0: "ראשון", 1: "שני", 2: "שלישי", 3: "רביעי", 4: "חמישי", 5: "שישי", 6: "שבת" } return hebrew_days[date.weekday()] def get_template_entries() -> List[str]: """קבלת רשימת מספרי פלאפון של לומדים""" url = f"{BASE_URL}/GetTemplateEntries" params = {"token": TOKEN, "templateId": 153193} try: logging.debug(f"שולח בקשה לקבלת רשימת לומדים: {url}") logging.debug(f"פרמטרים: {params}") response = requests.get(url, params=params, timeout=10) response.raise_for_status() logging.debug(f"תגובת השרת: {response.text}") data = response.json() if data["responseStatus"] != "OK": logging.error(f"שגיאה בקבלת רשימת לומדים: {data}") return [] phones = [entry["phone"] for entry in data.get("entries", []) if not entry.get("blocked", False)] logging.info(f"נמצאו {len(phones)} מספרי פלאפון") return phones except requests.exceptions.RequestException as e: logging.error(f"שגיאת רשת בקבלת רשימת לומדים: {e}") logging.error(traceback.format_exc()) return [] def download_ymgr_file(phone: str) -> bytes: """הורדת קובץ YMGR עבור מספר פלאפון""" url = f"{BASE_URL}/RenderYMGRFile" params = { "token": TOKEN, "wath": f"ivr2:/4/PrivateReports/TimeKeeperTotal.{phone}.ymgr", "convertType": "csv", "notLoadLang": 0 } try: logging.debug(f"שולח בקשה להורדת קובץ YMGR עבור {phone}: {url}") logging.debug(f"פרמטרים: {params}") response = requests.get(url, params=params, timeout=10) response.raise_for_status() logging.debug(f"גודל קובץ שהתקבל: {len(response.content)} בתים") with open(os.path.join(log_dir, f'{phone}_ymgr.csv'), 'wb') as f: f.write(response.content) logging.info(f"הורדת קובץ YMGR עבור {phone} בוצעה בהצלחה") return response.content except requests.exceptions.RequestException as e: logging.error(f"שגיאה בהורדת קובץ YMGR עבור {phone}: {e}") logging.error(traceback.format_exc()) raise def process_csv_data(csv_content: bytes, today: datetime) -> float: """עיבוד נתוני CSV והחזרת סך השעות עבור היום הנוכחי""" try: logging.debug("מתחיל לעבד קובץ CSV") csv_text = csv_content.decode('utf-8-sig') with open(os.path.join(log_dir, 'debug_csv.csv'), 'w', encoding='utf-8') as f: f.write(csv_text) reader = csv.DictReader(io.StringIO(csv_text)) total_hours = 0.0 for row in reader: logging.debug(f"עיבוד שורה: {row}") # בדיקת תאריך בעמודה I entry_date_str = row['תאריך כניסה'] entry_date = datetime.strptime(entry_date_str, '%d/%m/%Y') # בדיקה אם התאריך תואם את היום הנוכחי if entry_date.date() == today.date(): # המרת סך השעות מעמודה M hours_str = row['סך הזמן במשמרת'] # פיצול השעות לשעות ודקות time_parts = hours_str.split(':') if len(time_parts) == 3: hours, minutes, _ = map(int, time_parts) elif len(time_parts) == 2: hours, minutes = map(int, time_parts) else: logging.warning(f"פורמט זמן לא תקין: {hours_str}") continue total_hours += hours + (minutes / 60) logging.info(f"סך השעות שחושבו: {total_hours} שעות") return total_hours except Exception as e: logging.error(f"שגיאה בעיבוד נתוני CSV: {e}") logging.error(traceback.format_exc()) return 0.0 def create_tts_file(total_hours: float, today: datetime) -> str: """יצירת קובץ TTS עם סיכום השעות""" try: hebrew_day = get_hebrew_day_name(today) hebrew_date = today.strftime("כ %d %B תשפ״ה") hours_text = convert_hours_to_hebrew_format(total_hours) tts_content = f"סך השעות ליום {hebrew_day} {hebrew_date}: {hours_text}" logging.info(f"נוצר קובץ TTS: {tts_content}") return tts_content except Exception as e: logging.error(f"שגיאה ביצירת קובץ TTS: {e}") logging.error(traceback.format_exc()) return "" def upload_tts_file(phone: str, tts_content: str): """העלאת קובץ TTS לשרת""" url = f"{BASE_URL}/UploadTextFile" params = { "token": TOKEN, "what": f"ivr2:5/{phone}.tts", "contents": tts_content } try: logging.debug(f"שולח בקשה להעלאת קובץ TTS עבור {phone}: {url}") logging.debug(f"פרמטרים: {params}") logging.debug(f"תוכן TTS: {tts_content}") response = requests.get(url, params=params) response.raise_for_status() logging.debug(f"תגובת השרת בהעלאת TTS: {response.text}") logging.info(f"העלאת קובץ TTS עבור {phone} בוצעה בהצלחה") return response except requests.exceptions.RequestException as e: logging.error(f"שגיאה בהעלאת קובץ TTS עבור {phone}: {e}") logging.error(traceback.format_exc()) raise def update_extension(phone: str): """עדכון הרחבה במקרה של שגיאה""" url = f"{BASE_URL}/UpdateExtension" params = { "token": TOKEN, "path": f"ivr2:5/{phone[:6]}", "type": "playfile", "playfile_end_goto": "/0000/999" } try: logging.debug(f"שולח בקשה לעדכון הרחבה עבור {phone}: {url}") logging.debug(f"פרמטרים: {params}") response = requests.get(url, params=params, timeout=10) response.raise_for_status() logging.debug(f"תגובת השרת בעדכון הרחבה: {response.text}") logging.info(f"עדכון הרחבה עבור {phone} בוצע בהצלחה") return response except requests.exceptions.RequestException as e: logging.error(f"שגיאה בעדכון הרחבה עבור {phone}: {e}") logging.error(traceback.format_exc()) raise def main(): logging.info("התחלת הרצת סקריפט ניצול זמן") today = datetime.now() logging.debug(f"תאריך נוכחי: {today}") try: phones = get_template_entries() if not phones: logging.warning("לא נמצאו מספרי פלאפון") return for phone in phones: try: # הורדת קובץ YMGR ymgr_content = download_ymgr_file(phone) # חישוב סך השעות total_hours = process_csv_data(ymgr_content, today) # אם אין שעות ביום הנוכחי, דלג על הלומד הזה if total_hours == 0: logging.info(f"אין שעות ביום הנוכחי עבור {phone}") continue # יצירת קובץ TTS tts_content = create_tts_file(total_hours, today) if not tts_content: logging.warning(f"לא ניתן ליצור קובץ TTS עבור {phone}") continue # העלאת קובץ TTS upload_tts_file(phone, tts_content) except Exception as phone_error: logging.error(f"שגיאה בטיפול בטלפון {phone}: {phone_error}") logging.error(traceback.format_exc()) # במקרה של שגיאה בהעלאה, נסה לעדכן את ההרחבה ואז העלה שוב try: update_extension(phone) upload_tts_file(phone, tts_content) except Exception as retry_error: logging.error(f"שגיאה בניסיון חוזר עבור {phone}: {retry_error}") logging.error(traceback.format_exc()) except Exception as e: logging.error(f"שגיאה כללית: {e}") logging.error(traceback.format_exc()) logging.info("סיום הרצת סקריפט ניצול זמן") if __name__ == "__main__": main()

      וזה עובד פחות מהקוד הקודם, נראה לי שכלל לא עושה כלום.

      ממש ממש תודה רבה לך!!! תזכה למצוות!

    • צ

      ימות המשיח התחילו לשנות גם את הווטסאפונים הישנים למערכות IVR2!!! 👍👍👍🥰🥰
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      42
      3
      הצבעות
      42
      פוסטים
      1089
      צפיות

      א

      @צבי-ד-צ
      פדיחה...🥵🥵😬😬
      זו היתה מערכת של קהילה שרצתה שאני יפתח להם אותה, אבל התברר לי שזו לא מערכת רשמית של ימות המשיח אלא של חברה אחרת...
      בקיצור אני לא אוכל לבדוק את זה.

    • צ

      האם יש אפשרות שהמערכת תקרא תגובה API של ימות
      פורום מפתחים API • • צבי ד"צ

      2
      0
      הצבעות
      2
      פוסטים
      76
      צפיות

      צ

      @צבי-ד-צ למה למשל שההגדרה הזאת לא תעזור לפחות שישמיע את התגובה כמות שהיא

      say_api_answer=yes
    • צ

      העלאת קובץ TTS בAPI
      פורום מפתחים API • • צבי ד"צ

      8
      0
      הצבעות
      8
      פוסטים
      134
      צפיות

      צ

      @ivrפון איפה לכתוב, באתר החדש?

    • צ

      נפתר מישהו יכול לעזור לי מה לא טוב בפקודה מהדפדפן
      פורום מפתחים API • • צבי ד"צ

      4
      0
      הצבעות
      4
      פוסטים
      89
      צפיות

      מ. מ. פליישער

      @צבי-ד-צ כתב במישהו יכול לעזור לי מה לא טוב בפקודה מהדפדפן:

      @מ-מ-פליישער כתב במישהו יכול לעזור לי מה לא טוב בפקודה מהדפדפן:

      action=delete

      אכן, תודה רבה... (מוזר, היה נראה לי שכן העתקתי נכון)

      לפעמים המחשב "מתעקש" לזכור את הבחירה של העתקה הקודמת. קרה לי הרבה... 🙂

    • צ

      הגדרת כמה שורות ע"י API
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      2
      0
      הצבעות
      2
      פוסטים
      62
      צפיות

      צ

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

    • צ

      מי שרוצה פיתוח לאפשרות עדכון לקבצי הגדרות שאינם EXT בAPI
      בקשות לפיתוח • • צבי ד"צ

      8
      0
      הצבעות
      8
      פוסטים
      142
      צפיות

      צ

      @עידו דהיינו להוסיף למודל הוספת ערך בAPI ולגרום שמיד שיתקשר יכנס לשוחת ההוספת ערך.

    • צ

      תוכנה לפקודות מרובות!
      טיפים עצות והדגמות מהמשתמשים • פקודות מהדפדפן פקודות מרובות צבי דורש ציון • • צבי ד"צ

      4
      3
      הצבעות
      4
      פוסטים
      316
      צפיות

      צ

      @1-21212E-13 כתבו את זה כבר בעבר, אבל בשביל כך צריך לעשות תיקיית סימניות, ולי אישית (וכנראה לעוד) זה כבר יותר מסובך, מה גם, שרציתי לתת את זה ללקוח שצריך להוריד דוחות, לך תסביר לו (ניסיתי...) על קבוצת סימניות וכו' (בסוף אמנם עשיתי לו משהו קצת שונה, אבל פירסמתי את הגירסה הזו שיכולה להועיל לכלל)

    • צ

      הבעיה שהייתה בהעלאת קבצים - נפתרה!
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      2
      2
      הצבעות
      2
      פוסטים
      67
      צפיות

      I

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

    • צ

      מה המסקנא לגבי שינוי הגדרות לא בקובץ ext
      פורום מפתחים API • • צבי ד"צ

      5
      0
      הצבעות
      5
      פוסטים
      119
      צפיות

      צ

      @צבי-ד-צ כתב במה המסקנא לגבי שינוי הגדרות לא בקובץ ext:

      @צדיק-תמים יש אפשרות אחרת חוץ מלהוריד ולעלות?

      לא

    • צ

      יותר מ10 משימות
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      6
      0
      הצבעות
      6
      פוסטים
      146
      צפיות

      צ

      לתועלת הציבור מסקנת הניסוי:
      אי אפשר לעשות יותר מ10 (למעשה זה 11 נראה לי) משימות פעילות, דהיינו שהם עדיין לא עשו את מה שהם היו צריכים לעשות, אם הם כבר סיימו את כל הפעולות שלהם אז נותן לעשות עוד פעולות.