דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • בהיר
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • כהה
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. קטגוריות בהרצה
  3. אוטומציות
  4. עזרה הדדית - אוטומציות
  5. מדריך | העברה אוטומטית של הודעות מקבוצת ווצאפ למייל – עם שרת ובלי שרת (כולל פרומפטים מוכנים ל-AI))

מדריך | העברה אוטומטית של הודעות מקבוצת ווצאפ למייל – עם שרת ובלי שרת (כולל פרומפטים מוכנים ל-AI))

מתוזמן נעוץ נעול הועבר עזרה הדדית - אוטומציות
2 פוסטים 1 כותבים 76 צפיות 1 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • M מחובר
    M מחובר
    MAD
    כתב נערך לאחרונה על ידי MAD
    #1

    מדריך‌​‌‌​‌​​​​​‌ | העברה אוטומטית של הודעות מקבוצת ווצאפ למייל – עם שרת ובלי שרת (כולל פרומפטים מוכנים ל-AI)

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

    מה נקבל בסוף:

    • כל הודעה בקבוצה נאספת אוטומטית, כולל הודעות ששלחתם בעצמכם
    • ליד כל הודעה כתוב מי שלח ומתי
    • תמונה/סרטון/הקלטה/קובץ מופיעים כ־[נשלחה תמונה] וכדומה (עם הכיתוב, אם היה)
    • מייל מרוכז (פעם ביום / פעם בשעה) במקום הצפה של מייל לכל הודעה
    • שום הודעה לא הולכת לאיבוד כשכמה אנשים כותבים באותו רגע
    • לא צריך לגעת בשום דפדפן, ולא צריך מחשב דלוק אצלכם בבית

    ⚠️ לפני שמתחילים – חשוב!

    1. סיכון לחסימת מספר. שתי הדרכים מתחברות לווצאפ בצורה לא רשמית (דרך "מכשיר מקושר", כמו ווצאפ ווב). מספר שרק מקבל הודעות נמצא בסיכון נמוך, אבל הוא לא אפס. ההמלצה: פתחו מספר נוסף ותצרפו אותו לקבוצה.
      • שימו לב: אם עובדים עם מספר נוסף, ההודעות ששלחתם מהמספר הרגיל שלכם ייקלטו כמו הודעה של כל חבר אחר בקבוצה. זה בסדר גמור.
    2. דחיפה ולא תשאול. לא בונים מערכת ששואלת כל X דקות "יש הודעות חדשות?". מגדירים webhook: השירות דוחף כל הודעה ברגע שהיא מגיעה. ככה המערכת גם יציבה יותר וגם לא מפספסת הודעות.

    אפשרות א' – יש לכם שרת (VPS / מחשב לינוקס שדלוק תמיד)

    הרכיבים:

    רכיב תפקיד עלות
    WAHA (WhatsApp HTTP API) מחזיק את חיבור הווצאפ ושולח webhook על כל הודעה חינם (גרסת Core, סשן אחד)
    שירות פייתון קטן (ה-AI יכתוב לכם אותו) מקבל את ההודעות, שומר אותן ב-SQLite ושולח מייל מרוכז חינם
    Gmail + סיסמת אפליקציה שליחת המייל חינם

    שלב 1 – סיסמת אפליקציה בגוגל

    1. מפעילים אימות דו-שלבי בחשבון הגוגל ששולח את המיילים.
    2. נכנסים ל-https://myaccount.google.com/apppasswords (אין לזה כפתור בתפריט, רק חיפוש או קישור ישיר).
    3. יוצרים סיסמה חדשה ושומרים את 16 האותיות. לא מפרסמים אותה ולא מעלים אותה לגיטהאב.

    שלב 2 – התקנת WAHA

    צריך Docker על השרת. ההגדרות החשובות של WAHA (מתוך קובץ ה-.env.example הרשמי שלהם):

    WHATSAPP_HOOK_URL=http://forwarder:5000/webhook      # לאן לדחוף כל הודעה
    WHATSAPP_HOOK_EVENTS=message.any                     # message.any = כולל גם הודעות שאתם שלחתם
    WHATSAPP_START_SESSION=default                       # להפעיל את הסשן אוטומטית אחרי ריסטרט
    WAHA_API_KEY=<מפתח ארוך ואקראי>                       # חובה אם השרת חשוף לאינטרנט!
    WAHA_DASHBOARD_USERNAME=admin
    WAHA_DASHBOARD_PASSWORD=<סיסמה חזקה>
    

    אחרי ההפעלה:

    1. נכנסים ל-http://IP-של-השרת:3000/dashboard
    2. מפעילים סשן בשם default
    3. סורקים את קוד ה-QR מהטלפון (ווצאפ ← מכשירים מקושרים ← קישור מכשיר)

    שלב 3 – השירות שמקבל ושולח מייל

    לא צריך לדעת לתכנת. מעתיקים את הפרומפט הבא ל-Claude / ChatGPT, והוא יכתוב לכם את הכול:

    יש לי שרת לינוקס (Ubuntu) עם Docker. אני רוצה להעביר הודעות מקבוצת WhatsApp אחת או יותר למייל, בכיוון אחד בלבד (בלי לשלוח כלום לווצאפ).
    
    אני משתמש ב-WAHA (האימג' devlikeapro/waha, גרסת Core החינמית, מנוע WEBJS).
    WAHA יוגדר עם:
    WHATSAPP_HOOK_URL=http://forwarder:5000/webhook
    WHATSAPP_HOOK_EVENTS=message.any
    
    תכתוב לי שירות Python בשם forwarder (Flask או FastAPI) שעושה את הדברים הבאים:
    
    1. מאזין ב-POST /webhook ומקבל אירועי message.any מ-WAHA.
    2. מסנן רק הודעות מהקבוצות שה-chat ID שלהן מופיע ברשימה בקובץ config (מזהים שמסתיימים ב-@g.us).
       תסביר לי גם איך מוצאים את ה-ID של הקבוצה שלי דרך ה-API של WAHA
       (למשל GET /api/default/chats או /api/default/groups).
    3. לכל הודעה שומר ב-SQLite:
       - מזהה הודעה (id), כדי למנוע כפילויות
       - זמן
       - שם הקבוצה
       - שם השולח: מתוך participant / notifyName. אם fromMe=true, לכתוב "אני"
       - הטקסט (body)
       - סוג המדיה, אם hasMedia=true, לפי ה-mimetype: תמונה / סרטון / הקלטה / מסמך / סטיקר (בעברית)
       הודעה עם מדיה וגם כיתוב נשמרת עם שניהם.
       תבדוק מול התיעוד של WAHA מה המבנה המדויק של ה-payload, ואם יש הבדלים בין המנועים – תתמודד איתם.
    4. שולח מייל מרוכז לפי הגדרה ב-config: "immediate" / "hourly" / "daily" (עם שעה, למשל 21:00).
       - שליחה דרך Gmail SMTP עם סיסמת אפליקציה (smtp.gmail.com, פורט 465 SSL)
       - מייל HTML מימין לשמאל (dir="rtl"), ההודעות מקובצות לפי קבוצה, ולכל הודעה: "שעה – שולח: טקסט"
       - נושא: "סיכום [שם הקבוצה] – [תאריך]"
       - אם אין הודעות חדשות, לא נשלח מייל
       - אפשרות לכמה נמענים
    5. רק אחרי שליחה מוצלחת מסמן את ההודעות כ"נשלחו". אם השליחה נכשלה, ינסה שוב בסבב הבא.
    6. כל הסודות (סיסמת אפליקציה, כתובות מייל, WAHA_API_KEY) נקראים מקובץ .env ולא כתובים בקוד.
    7. לוג ברור בעברית: "התקבלה הודעה מ...", "נשלח מייל עם X הודעות".
    
    בנוסף תן לי:
    - docker-compose.yml שמריץ יחד את WAHA ואת forwarder באותה רשת, עם restart: unless-stopped,
      ועם volume לתיקיית הסשנים של WAHA, כדי שלא אצטרך לסרוק QR מחדש אחרי ריסטרט.
      בלי לחשוף את פורט 5000 לאינטרנט.
    - קובץ .env.example עם כל המשתנים (בלי ערכים אמיתיים)
    - הוראות התקנה צעד אחר צעד למתחיל גמור, כולל איך בודקים שזה עובד
      (שולחים הודעה בקבוצה ורואים אותה בלוג).
    

    שלב 4 – בדיקה

    • שולחים הודעה בקבוצה ← בלוג של forwarder אמורה להופיע "התקבלה הודעה"
    • לבדיקה מהירה מגדירים זמנית immediate, ואחרי שהכול עובד מחזירים ל-daily

    אפשרות ב' – אין לכם שרת (הכול בענן)

    הרכיבים:

    רכיב תפקיד עלות
    Green-API מחזיק את חיבור הווצאפ בענן ושולח webhook מסלול Developer חינמי
    Make מקבל את ההודעות, אוסף אותן ושולח מייל. יש בו עוזר AI מובנה (Maia) שבונה תרחישים משיחה חינמי: 1,000 קרדיטים בחודש
    Gmail שליחת המייל חינם

    מגבלות המסלולים החינמיים (בדקתי בתיעוד הרשמי)

    • Green-API Developer: אפשר לעבוד מול 3 צ'אטים בלבד (אנשי קשר או קבוצות), ולקבל התראות רק מ-3 צ'אטים. קבלת webhooks (incomingMessageReceived / outgoingMessageReceived) לא מוגבלת בכמות. בשביל קבוצה אחת זה מספיק בהחלט.
    • Make Free: 1,000 קרדיטים בחודש, ומרווח מינימלי של 15 דקות בין הרצות מתוזמנות.
      • כל הודעה שנכנסת ל-webhook עולה בערך 2 קרדיטים (קבלה + שמירה).
      • מייל יומי עולה בערך 4–5 קרדיטים ליום, כלומר כ-150 בחודש.
      • סה"כ: בערך 400 הודעות בחודש נכנסות בחינם. בקבוצה פעילה יותר יש שתי אפשרויות: מסלול בתשלום, או אפשרות א'.
      • מייל כל שעה אוכל כ-720 הרצות בחודש עוד לפני שעברה בו הודעה אחת, ולכן עדיף סיכום יומי.
      • 💡 עוד סיבה למספר ייעודי: אם המספר נמצא רק בקבוצה הזאת, לא מבזבזים קרדיטים על הודעות מצ'אטים אחרים.

    שלב 1 – Green-API

    1. נרשמים ב-green-api.com ← בקונסולה יוצרים instance במסלול Developer
    2. סורקים QR מהטלפון (של המספר הייעודי)
    3. בהגדרות ה-instance מפעילים:
      • Receive notifications about incoming messages and files (incomingWebhook = yes)
      • Receive notifications about messages sent from the phone (outgoingMessageWebhook = yes), אם רוצים שגם ההודעות שלכם יועברו
      • את webhookUrl ממלאים בשלב הבא, אחרי שנקבל כתובת מ-Make

    שלב 2 – Make

    1. נרשמים ל-make.com ← Create a new scenario
    2. מוסיפים מודול Webhooks ← Custom webhook ← מעתיקים את הכתובת שנוצרה ← מדביקים אותה ב-webhookUrl ב-Green-API
    3. שולחים הודעה בקבוצה כדי ש-Make "ילמד" את מבנה הנתונים (Redetermine data structure)
    4. את השאר בונים עם העוזר המובנה של Make או עם ChatGPT/Claude, בעזרת הפרומפט:
    אני רוצה לבנות ב-Make שני תרחישים שמעבירים הודעות מקבוצת WhatsApp למייל, בכיוון אחד בלבד.
    החיבור לווצאפ הוא דרך Green-API, שכבר שולח webhook לכתובת Custom Webhook ב-Make.
    אני במסלול החינמי (1,000 קרדיטים בחודש), אז תבנה את זה כך שיצרוך כמה שפחות פעולות.
    
    מבנה ה-webhook של Green-API (לפי התיעוד הרשמי):
    - typeWebhook: "incomingMessageReceived" (הודעה נכנסת) או "outgoingMessageReceived" (הודעה ששלחתי מהטלפון)
    - idMessage: מזהה ההודעה
    - timestamp: זמן ב-Unix
    - senderData.chatId: מזהה הצ'אט (קבוצה מסתיימת ב-@g.us)
    - senderData.chatName: שם הקבוצה
    - senderData.senderName: שם השולח
    - messageData.typeMessage: סוג ההודעה
    
    === תרחיש 1 – איסוף ===
    1. טריגר: Custom Webhook.
    2. פילטר: typeWebhook הוא incomingMessageReceived או outgoingMessageReceived,
       וגם senderData.chatId שווה ל-[ה-ID של הקבוצה שלי]@g.us.
    3. חישוב הטקסט לפי messageData.typeMessage:
       - textMessage          ← messageData.textMessageData.textMessage
       - extendedTextMessage  ← messageData.extendedTextMessageData.text
       - quotedMessage        ← messageData.extendedTextMessageData.text + " (בתגובה להודעה קודמת)"
       - imageMessage         ← "[נשלחה תמונה] " + messageData.fileMessageData.caption
       - videoMessage         ← "[נשלח סרטון] " + messageData.fileMessageData.caption
       - audioMessage         ← "[נשלחה הקלטה]"
       - documentMessage      ← "[נשלח קובץ: " + messageData.fileMessageData.fileName + "]"
       - stickerMessage       ← "[נשלח סטיקר]"
       - כל סוג אחר           ← "[נשלחה הודעה מסוג " + typeMessage + "]"
    4. שמירה ב-Data Store (key = idMessage, למניעת כפילויות) עם השדות:
       time, sender (אם typeWebhook הוא outgoingMessageReceived – לכתוב "אני"), group, text.
    
    === תרחיש 2 – שליחה ===
    1. מתוזמן פעם ביום בשעה 21:00 (שעון ישראל).
    2. Search records ב-Data Store – כל הרשומות, ממוינות לפי זמן.
    3. אם אין רשומות, לעצור (בלי מייל).
    4. Text Aggregator: שורת HTML לכל הודעה בפורמט "<b>HH:mm – שולח:</b> טקסט<br>".
    5. Gmail ← Send an email:
       - לכתובת [המייל של המקבל]
       - נושא: "סיכום הקבוצה – {תאריך היום}"
       - גוף HTML עטוף ב-<div dir="rtl">
    6. אחרי שליחה מוצלחת – Delete all records ב-Data Store.
    
    תסביר לי צעד אחר צעד איפה ללחוץ, ואיך בודקים כל תרחיש עם Run once.
    

    שלב 3 – בדיקה

    • בתרחיש 1 לוחצים Run once ← שולחים הודעה בקבוצה ← אמורה להיווצר רשומה ב-Data Store
    • בתרחיש 2 לוחצים Run once ← אמור להגיע מייל, וה-Data Store מתרוקן
    • מפעילים את שני התרחישים (ON) ← גמרנו 🎉

    איזו דרך לבחור?

    עם שרת (WAHA) בלי שרת (Green-API + Make)
    עלות חינם (אם כבר יש שרת) חינם עד ~400 הודעות בחודש
    כמות קבוצות ללא הגבלה עד 3 צ'אטים
    תדירות מייל מה שרוצים יומי (שעתי יאכל את הקרדיטים)
    קושי הקמה בינוני (Docker) קל (הכול בדפדפן)
    הנתונים אצל מי אצלכם אצל Green-API ו-Make

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

    בהצלחה, ומועדים לשמחה!

    גילוי נאות
    המדריך נערך ע"י AI ולא נבדק מדויק אח"כ

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

    תגובה 1 תגובה אחרונה
    3
    • M מחובר
      M מחובר
      MAD
      כתב נערך לאחרונה על ידי
      #2

      עדכון:

      יצא‌​‌‌​‌​​​​​‌ חלק 2 – מדריך מלא מאפס, עם הקמת שרת צעד אחר צעד (כולל שרת חינמי באורקל), Docker וקוד מוכן. כבר לא צריך פרומפטים ולא צריך לתכנת, רק להעתיק פקודות.
      הקוד: https://github.com/bot-sync-up/whatsapp-to-mail

      תגובה 1 תגובה אחרונה
      1

      שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

      נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

      בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

      הרשמה התחברות

      • התחברות

      • אין לך חשבון עדיין? הרשמה

      • התחברו או הירשמו כדי לחפש.
      • פוסט ראשון
        פוסט אחרון
      0
      • חוקי הפורום
      • פופולרי
      • לא נפתר
      • משתמשים
      • חיפוש גוגל בפורום
      • צור קשר