• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות

    עזרה בקבלת נתונים

    מתוזמן נעוץ נעול הועבר שאלות ועזרה הדדית
    115 פוסטים 6 כותבים 2.0k צפיות 3 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • א מנותק
      אA @לימוד בתורת מרן
      נערך לאחרונה על ידי

      @לימוד-בתורת-מרן
      הבנתי.
      השאלה היא איך הוא עובד.
      טוב, אני אנסה לכתוב משהו ונראה.

      ש ל 2 תגובות תגובה אחרונה תגובה ציטוט 0
      • ש מנותק
        שמול @אA
        נערך לאחרונה על ידי

        פוסט זה נמחק!
        א ל 2 תגובות תגובה אחרונה תגובה ציטוט 0
        • ל מנותק
          לימוד בתורת מרן @אA
          נערך לאחרונה על ידי

          @אA
          הבינה אמרה כך:
          להלן הנחיות מרכזיות לכתיבת ועדכון קוד עבור שרת ה-Cloudflare Worker שלך (המשמש לתקשורת עם "ימות המשיח" ולשירותים נוספים):

          1. מבנה קוד בסיסי (ES Modules)
            הקוד ב-Workers מנוהל בדרך כלל בפורמט מודולרי (ESM). מבנה בסיסי טיפוסי נראה כך:
          JavaScript
          export default {
            async fetch(request, env, ctx) {
              const url = new URL(request.url);
              
              // טיפול בבקשות לפי נתיב (Path)
              if (url.pathname === '/api/action') {
                return new Response(JSON.stringify({ success: true }), {
                  headers: { 'Content-Type': 'application/json' }
                });
              }
          
              return new Response('Worker is running!', { status: 200 });
            },
          };
          
          1. עבודה עם משתני סביבה (env) וסודות (Secrets)
            גישה למשתנים: נתונים רגישים (כמו טוקנים ל-API של ימות המשיח או מפתחות גישה) אינם נשמרים בקוד המקור, אלא מוגדרים כמשתני סביבה ב-Cloudflare Dashboard תחת הגדרות ה-Worker.

          קריאה בקוד: ניתן לגשת אליהם דרך אובייקט ה-env (לדוגמה: env.MY_SECRET_TOKEN).

          1. ניהול CORS (במידת הצורך)
            מכיוון שהשרת עשוי לתקשר עם אפליקציות צד-לקוח (כגון ממשקי ניהול שבנית ב-HTML/JS), יש להקפיד להוסיף כותרות CORS מתאימות בתשובות ה-HTTP:
          JavaScript
          const corsHeaders = {
            'Access-Control-Allow-Origin': '*',
            'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
            'Access-Control-Allow-Headers': 'Content-Type',
          };
          
          // טיפול בבקשות OPTIONS מוקדמות (Preflight)
          if (request.method === 'OPTIONS') {
            return new Response(null, { headers: corsHeaders });
          }
          
          1. תקשורת עם ממשקים חיצוניים (כגון "ימות המשיח")
            השתמש ב-fetch מובנה לצורך שליחת בקשות HTTP (GET/POST) למערכות חיצוניות.

          הקפד לבצע טיפול בשגיאות באמצעות בלוקי try...catch כדי למנוע קריסת השרת במקרה של תקלות תקשורת:

          JavaScript
          try {
            const response = await fetch('https://www.call2all.co.il/ym/api/...');
            const data = await response.json();
            // טיפול בנתונים
          } catch (error) {
            return new Response(JSON.stringify({ error: error.message }), { status: 500 });
          }
          
          1. דרכי פריסה (Deployment)
            עריכה מהירה: ניתן לעדכן שינויים קטנים ישירות דרך פאנל הניהול של Cloudflare בכתובת dash.cloudflare.com בלשונית Workers & Pages תחת כפתור עריכת הקוד.

          פיתוח מקומי / פריסה מתקדמת: עבודה מול סביבת הפיתוח המקומית באמצעות כלי שורת הפקודה של Cloudflare (Wrangler) לניהול וגרסאות קוד מסודרות.

          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • א מנותק
            אA @שמול
            נערך לאחרונה על ידי אA

            @שמול
            אתה רוצה גם?

            ל תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • ל מנותק
              לימוד בתורת מרן @שמול
              נערך לאחרונה על ידי

              @שמול כתב:

              @אA
              לי יש את זה
              https://www.hostinger.com/il

              אם תוכל למחוק זה לא קשור לנושא פה אין מה לכתוב זה מפריע לי ברצף

              תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • ל מנותק
                לימוד בתורת מרן @אA
                נערך לאחרונה על ידי

                @אA
                מה אומר?

                א 3 תגובות תגובה אחרונה תגובה ציטוט 0
                • א מנותק
                  אA @לימוד בתורת מרן
                  נערך לאחרונה על ידי

                  @לימוד-בתורת-מרן


                  איך מעלים את הקוד ב-Cloudflare?
                  התחבר לחשבון ב-dash.cloudflare.com.
                  בתפריט הצדדי לחץ על Workers & Pages.
                  לחץ על הכפתור Create application -> לאחר מכן בחר ב-Create Worker.
                  תן שם ל-Worker (למשל: yemot-updater) ולחץ על Deploy.
                  במסך שיופיע, לחץ על Edit code.
                  מחק את כל הקוד הקיים בחלון העריכה, והדבק את הקוד שלמעלה.
                  עדכן את המשתנים בראש הקוד (YEMOT_TOKEN, TARGET_EXTENSION_PATH, וכו').
                  לחץ בפינה הימנית העליונה על Deploy.

                  export default {
                      async fetch(request, env, ctx) {
                  
                          // =========================================================================
                          // 🔧 הגדרות מערכת - ערוך את הערכים כאן לפי הצורך שלך!
                          // =========================================================================
                          
                          // 1. הטוקן של המערכת שלך בימות המשיח
                          const YEMOT_TOKEN = "YOUR_YEMOT_TOKEN_HERE"; 
                  
                          // 2. נתיב השלוחה שברצונך ליצור/לעדכן את קובץ ext.ini שלה (לדוגמה: ivr2:1 או ivr2:1/5)
                          const TARGET_EXTENSION_PATH = "ivr2:1"; 
                  
                          // 3. שם המשתנה שיירשם בקובץ ext.ini עבור הטלפון (לדוגמה: phone_number=0501234567)
                          const PHONE_KEY_IN_INI = "phone_number"; 
                  
                          // 4. (אופציונלי) שם המשתנה שיירשם בקובץ ext.ini עבור הת.ז.
                          const ID_KEY_IN_INI = "id_number";
                  
                          // 5. נתיב השלוחה אליה המאזין יועבר בסיום (התפריט הראשי, למשל: /1 או /)
                          const MAIN_MENU_PATH = "1"; 
                  
                          // =========================================================================
                  
                          // קריאת הפרמטרים מכתובת ה-URL (קריאות GET)
                          const url = new URL(request.url);
                          const params = new URLSearchParams(url.search);
                  
                          // אם השיחה הגיעה ב-POST, נקרא גם את ה-Body
                          if (request.method === "POST") {
                              try {
                                  const formData = await request.formData();
                                  for (const [key, value] of formData.entries()) {
                                      params.append(key, value);
                                  }
                              } catch (e) {
                                  // במידה ולא נשלח formdata
                              }
                          }
                  
                          const idNumber = params.get("id_number");
                          const phoneNumber = params.get("phone_number");
                  
                          // שלב 1: אם המאזין עדיין לא הכניס ת.ז.
                          if (!idNumber) {
                              return new Response("read=t-נא להקיש מספר תעודת זהות=id_number,no,9,9,7,b,digits", {
                                  headers: { "Content-Type": "text/plain; charset=utf-8" }
                              });
                          }
                  
                          // שלב 2: אם הוכנסה ת.ז. אך עדיין לא הוכנס מספר טלפון
                          if (!phoneNumber) {
                              return new Response("read=t-נא להקיש מספר טלפון=phone_number,no,9,10,7,b,digits", {
                                  headers: { "Content-Type": "text/plain; charset=utf-8" }
                              });
                          }
                  
                          // שלב 3: התקבלו גם ת.ז. וגם טלפון - מעדכנים את ext.ini בימות המשיח
                          try {
                              // בניית ה-URL לעדכון השלוחה (UpdateExtension)
                              const updateUrl = new URL("https://www.call2all.co.il/ym/api/UpdateExtension");
                              updateUrl.searchParams.append("token", YEMOT_TOKEN);
                              updateUrl.searchParams.append("path", TARGET_EXTENSION_PATH);
                              updateUrl.searchParams.append(PHONE_KEY_IN_INI, phoneNumber);
                              updateUrl.searchParams.append(ID_KEY_IN_INI, idNumber);
                  
                              // שליחת הבקשה לשרת ימות המשיח
                              const yemotResponse = await fetch(updateUrl.toString());
                  
                              // שלב 4: השמעה למאזין שהנתונים נקלטו והעברה לתפריט הראשי
                              return new Response(`id_list_message=t-הנתונים נקלטו בהצלחה&go_to_folder=/${MAIN_MENU_PATH}`, {
                                  headers: { "Content-Type": "text/plain; charset=utf-8" }
                              });
                  
                          } catch (error) {
                              // במקרה של שגיאה - הודעה למאזין והעברה לתפריט הראשי
                              return new Response(`id_list_message=t-אירעה שגיאה בשמירת הנתונים&go_to_folder=/${MAIN_MENU_PATH}`, {
                                  headers: { "Content-Type": "text/plain; charset=utf-8" }
                              });
                          }
                      }
                  };
                  

                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • א מנותק
                    אA @לימוד בתורת מרן
                    נערך לאחרונה על ידי

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

                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • א מנותק
                      אA @לימוד בתורת מרן
                      נערך לאחרונה על ידי

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

                      ל תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • ל מנותק
                        לימוד בתורת מרן @אA
                        נערך לאחרונה על ידי

                        @אA
                        איזה קובץ לרשום ונתיב תפרט!!

                        א תגובה 1 תגובה אחרונה תגובה ציטוט 0
                        • א מנותק
                          אA @לימוד בתורת מרן
                          נערך לאחרונה על ידי

                          @לימוד-בתורת-מרן
                          איפה נכנסים הת.ז. והטלפונים של הנרשמים?

                          ל 2 תגובות תגובה אחרונה תגובה ציטוט 0
                          • ל מנותק
                            לימוד בתורת מרן @אA
                            נערך לאחרונה על ידי

                            @אA
                            מיסתמא באחד הדוחו"ת

                            א תגובה 1 תגובה אחרונה תגובה ציטוט 0
                            • ל מנותק
                              לימוד בתורת מרן @אA
                              נערך לאחרונה על ידי

                              @אA
                              לא הבנתי כלום..

                              תגובה 1 תגובה אחרונה תגובה ציטוט 0
                              • א מנותק
                                אA @לימוד בתורת מרן
                                נערך לאחרונה על ידי

                                @לימוד-בתורת-מרן
                                אני צריך לדעת.
                                אחרת לאיפה הקוד יכניס או יבדוק.

                                ל תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                • ל מנותק
                                  לימוד בתורת מרן @אA
                                  נערך לאחרונה על ידי

                                  @אA
                                  מה אתה רוצה יש לך אנדיסק?

                                  א תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • א מנותק
                                    אA @לימוד בתורת מרן
                                    נערך לאחרונה על ידי

                                    @לימוד-בתורת-מרן
                                    לא.
                                    רצית קוד לא?!

                                    ל תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • ל מנותק
                                      לימוד בתורת מרן @אA
                                      נערך לאחרונה על ידי

                                      @אA
                                      עזוב כל אחד יותר מסבך אותי מהשני

                                      א תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                      • א מנותק
                                        אA @לימוד בתורת מרן
                                        נערך לאחרונה על ידי

                                        @לימוד-בתורת-מרן כרצונך

                                        תגובה 1 תגובה אחרונה תגובה ציטוט 0

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

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

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

                                        הרשמה התחברות
                                        • פוסט ראשון
                                          פוסט אחרון