• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות
    1. דף הבית
    2. איל משולש
    3. פוסטים
    א מנותק
    • פרופיל
    • עוקב אחרי 4
    • עוקבים 8
    • נושאים 172
    • פוסטים 1,149
    • קבוצות 0

    פוסטים

    פוסטים אחרונים הגבוה ביותר שנוי במחלוקת
    • RE: ממשק HTML לבדיקת כמות מאזינים בו זמנית (ערוצים)

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

      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • שיתוף קוד + מדריך התקנה + אפשרת שימוש | שלוחת הרשמה לצינתוקים אישיים (API)

      כיון שיש בעיות עם האפשרויות שיש כיום בניתי קוד שניתן לפרוסבצורה פשוטה דרך האתר המטורף של @פתרון-ai
      לכניסה לאתר יש להתחבר בלשונית "חיבורים פעילים" ל "Cloudflare"
      ואז לבחור הוספת קוד חדש "סקריפט צד שרת" ולשים את הקוד המצורף למטה, יש לשמור ולפרוס, תקבלו ללינק לשים בלשוחה
      ההגדרות בשלוחה

      type=api
      api_add_0=token=טוקן של הקו
      api_link=לינק שקיבלתם בפריסה 
      

      ניתן להשתמש בלי הפריסה עם הלינק הבא

      https://pai-dev-s-file-5pqkq7.pai-6ec8c3bb.workers.dev/
      

      הקוד:

      /**
       * Cloudflare Worker (ES Modules) - הרשמה לצינתוק אישי בימות המשיח
       *
       * מה הסקריפט עושה בכל קריאה משלוחת API:
       *  1. קורא את מספר הטלפון של המתקשר (ApiPhone) ואת נתיב שלוחת ה-API (ApiExtension).
       *  2. יוצר (או מעדכן, אם כבר קיימת) תת-שלוחה בשם הטלפון תחת שלוחת ה-API,
       *     מסוג tzintuk (הרשמה לצינתוקים) עם רשימה בשם הטלפון.
       *  3. מגדיר "מעבר בסיום" (tzintuk_end) לשלוחה האחורה - ההורה של שלוחת ה-API,
       *     כדי שהמשתמש לא ייכנס שוב לשלוחת ה-API.
       *  4. מעביר את המתקשר לתת-השלוחה החדשה (go_to_folder).
       *
       * הטוקן מתקבל בפרמטר GET בשם token (בפורמט "מספר_מערכת:סיסמה"), לדוגמה:
       *   https://your-worker.workers.dev/?token=0771234567:mypassword
       *
       * הגדרה בימות: בשלוחת ה-API הגדירו api_link לכתובת ה-Worker כולל ?token=...
       */
      
      const YEMOT_UPDATE_EXTENSION = "https://www.call2all.co.il/ym/api/UpdateExtension";
      
      export default {
        async fetch(request) {
          try {
            const params = await readParams(request);
      
            // ---- טוקן מפרמטר ה-GET ----
            const token = new URL(request.url).searchParams.get("token") || params.token;
            if (!token) {
              return reply("id_list_message=t-חסר טוקן בהגדרות&go_to_folder=hangup");
            }
      
            // ---- מספר הטלפון של המבקש ----
            const phone = String(params.ApiPhone || "").replace(/\D/g, "");
            if (!phone) {
              return reply("id_list_message=t-לא זוהה מספר טלפון. לא ניתן להירשם&go_to_folder=hangup");
            }
      
            // ---- נתיב שלוחת ה-API (השלוחה ממנה נשלחה הקריאה) ----
            const apiPath = normalizePath(params.ApiExtension);
            const parts = apiPath.split("/").filter(Boolean);
            const parentPath = "/" + parts.slice(0, -1).join("/"); // "/" אם שלוחת ה-API בשורש
            const newPath = (apiPath === "/" ? "" : apiPath) + "/" + phone;
      
            // ---- יצירת/עדכון תת-השלוחה ----
            const query = new URLSearchParams({
              token,
              path: "ivr2:" + newPath,
              type: "tzintuk",
              title: phone,
              list_tzintuk: phone,   // שם הרשימה = מספר הטלפון
              tzintuk_end: parentPath, // מעבר בסיום - אחורה, מעל שלוחת ה-API
            });
      
            const res = await fetch(YEMOT_UPDATE_EXTENSION, {
              method: "POST",
              headers: { "Content-Type": "application/x-www-form-urlencoded" },
              body: query.toString(),
            });
      
            const data = await res.json().catch(() => ({}));
            if (data.responseStatus !== "OK") {
              console.error("UpdateExtension failed:", JSON.stringify(data));
              return reply("id_list_message=t-אירעה שגיאה ביצירת ההרשמה&go_to_folder=" + parentPath);
            }
      
            // ---- העברה לשלוחה שנוצרה ----
            return reply("go_to_folder=" + newPath);
          } catch (err) {
            console.error("Worker error:", err);
            return reply("id_list_message=t-אירעה שגיאה&go_to_folder=hangup");
          }
        },
      };
      
      /** קורא פרמטרים גם מ-GET וגם מ-POST */
      async function readParams(request) {
        const out = Object.fromEntries(new URL(request.url).searchParams);
        if (request.method === "POST") {
          const type = request.headers.get("content-type") || "";
          try {
            if (type.includes("application/json")) {
              Object.assign(out, await request.json());
            } else {
              const form = await request.formData();
              for (const [k, v] of form.entries()) out[k] = String(v);
            }
          } catch (_) {
            /* גוף ריק או לא תקין - ממשיכים עם ה-query */
          }
        }
        return out;
      }
      
      /** מנרמל נתיב שלוחה: מסיר קידומת ivr2: ומוודא לוכסן בתחילה ובלי לוכסן בסוף */
      function normalizePath(p) {
        let s = String(p || "").trim().replace(/^ivr2:/, "");
        s = "/" + s.split("/").filter(Boolean).join("/");
        return s;
      }
      
      function reply(body) {
        return new Response(body, {
          headers: { "Content-Type": "text/plain; charset=utf-8" },
        });
      }
      
      
      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • RE: ממשק HTML לבדיקת כמות מאזינים בו זמנית (ערוצים)

      @ישראל10 eaa4c9ac-dd81-4637-87d9-3dbe604b32f0-image.jpeg

      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • RE: ממשק HTML לבדיקת כמות מאזינים בו זמנית (ערוצים)

      @ישראל10 לכאורה באתר הזה יש בעיות, הוא לא נראה לי אמין, תתחבר באתר של @פתרון-ai
      https://ivr.pitronai.com/#/devspace

      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • RE: קוד למעבר למשאיר ההודעה - בעלות יחידות

      @בונה-מערכות תעשה את זה דרך האתר של @פתרון-ai
      תכנס לאתר תרשם [אם אתה נרשם עם שמירת טוקן בדפדפן זה לא חשוף אפי' לו עצמו]
      תעשה חיבור לקלופיירד
      f2adb873-e243-42c2-9462-1f0bdf4752be-image.jpeg
      תרשם עם החשבון גוגל
      תבחר אח"כ בסקריפט לצד שרת
      917a8bc9-0ad5-45e9-bcd4-087d0b3533ce-image.jpeg
      ושים תשים את הקוד הבא (שים לב להחליף את המספר מערכת וסיסמה)
      תעשה פריסה, יופיע לך בצד קישור

      אתה צריך להגדיר בשלוחה את המקש כAPI ולשים את הקישור כלינק

      export default {
        async fetch(request, env) {
          const url = new URL(request.url);
          const headers = { "content-type": "text/plain; charset=utf-8" };
          const text = (msg) => new Response(msg, { headers });
      
          // 1. בדיקת קיומו של הפרמטר 'what'
          const what = url.searchParams.get("what");
          if (!what) return text("לא נשלח פרמטר what");
      
          // 2. החלפת 3 התווים האחרונים ב-txt
          const modified = what.slice(0, -3) + "txt";
      
          // 3. בניית ה-URL לקריאה ל-API
          const token = "0773137770:123456"; // מספר מערכת:סיסמה
          const apiUrl =
            "https://www.call2all.co.il/ym/api/GetTextFile?" +
            new URLSearchParams({ token, what: modified });
      
          // 4. קריאה ל-API ופענוח ה-JSON
          let data;
          try {
            const res = await fetch(apiUrl);
            data = await res.json();
          } catch (e) {
            return text("שגיאה בקריאה לשרת");
          }
          if (!data || !data.contents) return text("תשובה לא תקינה מהשרת");
      
          // 5. חילוץ מספר הטלפון והחזרת תשובת routing לימות המשיח
          const match = data.contents.match(/Phone-(05\d{8})/);
          if (!match) return text("לא נמצא מספר טלפון בתשובה.");
      
          return text(`routing=${match[1]},1,,,,,,,,,no,,,,,`);
        },
      };
      
      פורסם בפורום PHP
      א
      איל משולש
    • האתר בטא הפסיק לעבוד?

      https://www.call2all.co.il/yemot-admin-g1/#/login
      מחזיר שגיאה 404
      5953fccf-1d61-42bc-b87f-653c7db573c8-image.jpeg

      פורסם בעזרה הדדית למשתמשים מתקדמים
      א
      איל משולש
    • RE: ניוד מספר נייד כשר לימות+קבלת SMS

      @אז-נדברו כתב:

      @מזוזת כתב:

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

      @אז-נדברו האם זה רק בתשלום מראש או גם אח"כ?

      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • RE: הקלטות במודול תור

      @שנאור תכנס לגוגל דרייב
      תעשה "חדש"
      f1887310-3865-4912-9f4e-5d527ca8ecdd-image.jpeg
      תבחר "עוד" - "גוגל סקריפט"
      צילום מסך 2026-10-19 215037.png
      תבחר יצירת סקריפט, ואז תדביק שם את הקוד הבא
      **שים לב שיש מקום להכניס את מספר המערכת, את הסיסמה, ואת הנתיב של השלוחה שבה ההקלטות היום, ונתיב שאליו אתה רוצה שזה יעבור, אתה יכול לשים שם מזהה של תקייה בדרייב אם אתה רוצה שזה ישמר גם שם

      /**
       * העתקת קבצים מתיקייה בימות המשיח – לתיקייה בימות ו/או לתיקייה בגוגל דרייב
       * כל קובץ מורד מהמקור (DownloadFile) ומועלה מחדש ליעד (UploadFile) –
       * ללא שימוש בהעתקה הפנימית של ימות.
       * ------------------------------------------------------------------------
       * הוראות:
       * 1. ב-script.google.com צור פרויקט חדש והדבק את כל הקוד.
       * 2. מלא את ההגדרות ב-CONFIG למטה.
       * 3. הרץ פעם אחת ידנית את הפונקציה copyFiles (כדי לאשר הרשאות ולבדוק).
       * 4. לתזמון: הרץ פעם אחת את createTrigger (או דרך "טריגרים" בתפריט השמאלי).
       */
       
      const CONFIG = {
        // פרטי התחברות למערכת
        USERNAME: '07XXXXXXXX',
        PASSWORD: 'XXXXXX',
       
        // תיקיית המקור בימות (לדוגמה: '/1/2')
        SOURCE_PATH: '/1',
       
        // מצב: 'yemot' = העתקה לתיקייה בימות | 'drive' = שמירה בדרייב | 'both' = לשניהם
        MODE: 'both',
       
        // יעד בימות (רלוונטי ל-yemot / both). הקבצים יורדו מהמקור ויועלו לכאן מחדש.
        YEMOT_TARGET_PATH: '/9',
       
        // מזהה תיקייה בדרייב (רלוונטי ל-drive / both)
        // מעתיקים מהכתובת: https://drive.google.com/drive/folders/<המזהה_כאן>
        DRIVE_FOLDER_ID: 'PUT_DRIVE_FOLDER_ID_HERE',
       
        // אילו סיומות להעתיק. מערך ריק [] = כל הקבצים
        EXTENSIONS: ['wav', 'mp3', 'ogg', 'txt', 'tts'],
       
        // כל כמה שעות להריץ (משמש את createTrigger)
        TRIGGER_EVERY_HOURS: 1
      };
       
      const API = 'https://www.call2all.co.il/ym/api/';
      const MAX_RUNTIME_MS = 5 * 60 * 1000; // עצירה בטוחה לפני מגבלת 6 הדקות של גוגל
      const MAX_FILE_BYTES = 50 * 1024 * 1024; // מגבלת UrlFetchApp בגוגל
       
      /* ===================== פונקציה ראשית ===================== */
       
      function copyFiles() {
        const start = Date.now();
        const mode = String(CONFIG.MODE).toLowerCase();
        const toYemot = mode === 'yemot' || mode === 'both';
        const toDrive = mode === 'drive' || mode === 'both';
        if (!toYemot && !toDrive) throw new Error('MODE חייב להיות yemot / drive / both');
       
        const token = login_();
        try {
          const sourceDir = normalizePath_(CONFIG.SOURCE_PATH);
          const files = listFiles_(token, sourceDir);
          Logger.log('נמצאו ' + files.length + ' קבצים במקור ' + sourceDir);
       
          // רשימת קבצים קיימים ביעד – כדי לדלג עליהם
          let yemotTarget, yemotExisting, driveFolder, driveExisting;
          if (toYemot) {
            yemotTarget = normalizePath_(CONFIG.YEMOT_TARGET_PATH);
            if (yemotTarget === sourceDir) throw new Error('תיקיית היעד בימות זהה לתיקיית המקור');
            yemotExisting = new Set(listFiles_(token, yemotTarget, true).map(f => f.name));
          }
          if (toDrive) {
            driveFolder = DriveApp.getFolderById(CONFIG.DRIVE_FOLDER_ID);
            driveExisting = new Set();
            const it = driveFolder.getFiles();
            while (it.hasNext()) driveExisting.add(it.next().getName());
          }
       
          let copiedY = 0, copiedD = 0, skipped = 0, errors = 0;
       
          for (const f of files) {
            if (Date.now() - start > MAX_RUNTIME_MS) {
              Logger.log('הגעתי למגבלת זמן – ההמשך יתבצע בהרצה הבאה.');
              break;
            }
            const srcFile = joinPath_(sourceDir, f.name);
            const needYemot = toYemot && !yemotExisting.has(f.name);
            const needDrive = toDrive && !driveExisting.has(f.name);
       
            if (!needYemot && !needDrive) { skipped++; continue; }
       
            if (f.size && f.size > MAX_FILE_BYTES) {
              errors++;
              Logger.log('דילוג על ' + srcFile + ' – גדול מ-50MB (מגבלת גוגל)');
              continue;
            }
       
            // 1. הורדה פעם אחת מהמקור
            let blob;
            try {
              blob = downloadFile_(token, srcFile).setName(f.name);
            } catch (e) {
              errors++;
              Logger.log('שגיאה בהורדת ' + srcFile + ': ' + e.message);
              continue;
            }
       
            // 2. העלאה מחדש לתיקיית היעד בימות
            if (needYemot) {
              try {
                uploadFile_(token, joinPath_(yemotTarget, f.name), blob);
                yemotExisting.add(f.name);
                copiedY++;
              } catch (e) {
                errors++;
                Logger.log('שגיאה בהעלאה לימות ' + f.name + ': ' + e.message);
              }
            }
       
            // 3. שמירה בדרייב
            if (needDrive) {
              try {
                driveFolder.createFile(blob);
                driveExisting.add(f.name);
                copiedD++;
              } catch (e) {
                errors++;
                Logger.log('שגיאה בשמירה לדרייב ' + f.name + ': ' + e.message);
              }
            }
          }
       
          Logger.log('סיום: הועתקו לימות ' + copiedY + ', נשמרו בדרייב ' + copiedD +
                     ', דולגו (קיימים) ' + skipped + ', שגיאות ' + errors);
        } finally {
          logout_(token);
        }
      }
       
      /* ===================== תזמון ===================== */
       
      function createTrigger() {
        // מוחק טריגרים קודמים של הפונקציה כדי לא ליצור כפילויות
        ScriptApp.getProjectTriggers()
          .filter(t => t.getHandlerFunction() === 'copyFiles')
          .forEach(t => ScriptApp.deleteTrigger(t));
       
        ScriptApp.newTrigger('copyFiles')
          .timeBased()
          .everyHours(CONFIG.TRIGGER_EVERY_HOURS)
          .create();
        Logger.log('נוצר טריגר: כל ' + CONFIG.TRIGGER_EVERY_HOURS + ' שעות');
      }
       
      function removeTriggers() {
        ScriptApp.getProjectTriggers()
          .filter(t => t.getHandlerFunction() === 'copyFiles')
          .forEach(t => ScriptApp.deleteTrigger(t));
        Logger.log('הטריגרים נמחקו');
      }
       
      /* ===================== פונקציות API ===================== */
       
      function login_() {
        const data = apiCall_('Login', { username: CONFIG.USERNAME, password: CONFIG.PASSWORD });
        if (!data.token) throw new Error('התחברות נכשלה – לא התקבל טוקן');
        return data.token;
      }
       
      function logout_(token) {
        try { apiCall_('Logout', { token: token }); } catch (e) { /* לא קריטי */ }
      }
       
      /** רשימת קבצים בתיקייה (כמו בקובץ ה-PHP: GetIVR2Dir + סינון לפי סיומת) */
      function listFiles_(token, dirPath, allowMissing) {
        const apiPath = dirPath === '/' ? '/' : dirPath + '/';
        let data;
        try {
          data = apiCall_('GetIVR2Dir', { token: token, path: apiPath });
        } catch (e) {
          if (allowMissing) return [];
          throw e;
        }
        const raw = Array.isArray(data.files) ? data.files : [];
        const exts = (CONFIG.EXTENSIONS || []).map(x => String(x).toLowerCase());
       
        return raw.filter(f => {
          if (!f || !f.name) return false;
          if (exts.length === 0) return true;
          const ext = f.name.split('.').pop().toLowerCase();
          return exts.indexOf(ext) !== -1 || f.fileType === 'AUDIO';
        });
      }
       
      /** העלאת קובץ לימות (UploadFile – POST multipart/form-data) */
      function uploadFile_(token, targetPath, blob) {
        const resp = UrlFetchApp.fetch(API + 'UploadFile', {
          method: 'post',
          payload: {                       // אובייקט עם Blob => נשלח כ-multipart/form-data
            token: token,
            path: 'ivr2:' + targetPath.replace(/^\/+/, ''),
            convertAudio: '0',             // שומר את הקובץ כמו שהוא, בלי המרה
            file: blob
          },
          muteHttpExceptions: true
        });
        let data;
        try {
          data = JSON.parse(resp.getContentText());
        } catch (e) {
          throw new Error('UploadFile: תשובה לא תקינה (HTTP ' + resp.getResponseCode() + ')');
        }
        if (data.responseStatus !== 'OK') {
          throw new Error('UploadFile: ' + (data.message || data.responseStatus) +
                          (data.messageCode ? ' (קוד ' + data.messageCode + ')' : ''));
        }
        return data;
      }
       
      /** הורדת קובץ (DownloadFile) כ-Blob */
      function downloadFile_(token, filePath) {
        const url = API + 'DownloadFile?' + toQuery_({
          token: token,
          path: 'ivr2:' + filePath.replace(/^\/+/, '')
        });
        const resp = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
        if (resp.getResponseCode() === 404) {
          throw new Error('הקובץ לא נמצא (404)');
        }
        if (resp.getResponseCode() !== 200) {
          throw new Error('HTTP ' + resp.getResponseCode());
        }
        // אם חזר JSON של שגיאה במקום הקובץ
        const ct = String(resp.getHeaders()['Content-Type'] || '');
        if (ct.indexOf('application/json') !== -1) {
          throw new Error('שגיאת API: ' + resp.getContentText());
        }
        return resp.getBlob();
      }
       
      function apiCall_(method, params) {
        const resp = UrlFetchApp.fetch(API + method + '?' + toQuery_(params), { muteHttpExceptions: true });
        let data;
        try {
          data = JSON.parse(resp.getContentText());
        } catch (e) {
          throw new Error(method + ': תשובה לא תקינה (HTTP ' + resp.getResponseCode() + ')');
        }
        if (data.responseStatus !== 'OK') {
          throw new Error(method + ': ' + (data.message || data.responseStatus || 'שגיאה לא ידועה'));
        }
        return data;
      }
       
      /* ===================== עזר ===================== */
       
      function toQuery_(obj) {
        return Object.keys(obj)
          .map(k => encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]))
          .join('&');
      }
       
      function normalizePath_(p) {
        const t = String(p || '').replace(/^ivr2:/, '').replace(/^\/+|\/+$/g, '');
        return '/' + t;
      }
       
      function joinPath_(dir, name) {
        return (dir === '/' ? '' : dir) + '/' + name;
      }
       
      

      אח"כ תשמור, ואז תיצור טריגר
      357ef5c0-3427-4637-af4e-29113c74dded-image.jpeg
      יש שם אפשרות לבחור כל כמה זמן זה יופעל, זה יבקש ממך אישור לבצע דברים תאשר, ואז כל פעם שזה יופעל זה יעתיק את השלוחות

      פורסם בעזרה הדדית למשתמשים מתקדמים
      א
      איל משולש
    • RE: הקלטות במודול תור

      @שנאור שניה אני יתן לך, אתה מעדיף גיבוי לשלוחה או גיבוי לדרייב או גם וגם?

      פורסם בעזרה הדדית למשתמשים מתקדמים
      א
      איל משולש
    • RE: הקלטות במודול תור

      @שנאור https://f2.freeivr.co.il/post/199649
      תלחץ על הספויילר, יפתח לך קוד לגוגל סקריפט, אתה מבין בגוגל סקריפט?

      פורסם בעזרה הדדית למשתמשים מתקדמים
      א
      איל משולש
    • RE: קוד למעבר למשאיר ההודעה - בעלות יחידות

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

      פורסם בפורום PHP
      א
      איל משולש
    • RE: הקלטות במודול תור

      @שנאור כן, כתבתי סקריפט תראה בהודעה הקודמת שלי בספויילר

      פורסם בעזרה הדדית למשתמשים מתקדמים
      א
      איל משולש
    • RE: הקלטת הודעות עם תמלול לטקסט - בחינם

      @rivkazahava זה לא מודל שליחה למייל
      מודל שליחה למייל

      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • RE: ממשק HTML לבדיקת כמות מאזינים בו זמנית (ערוצים)

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

      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • RE: ממשק HTML לבדיקת כמות מאזינים בו זמנית (ערוצים)

      @פתרון-AI כתב:

      @איל-משולש
      אחלה פיתוח גם אני פיתחתי משהו דומה אולי זה יעזור לך לבחינות
      ca819564-9166-4f89-a4af-160bcb1c3ff7-image.jpeg
      כניסה דרך האתר שלי בלשונית סטטיסיטקות

      בדקתי והאתרר שלך גם לא נכון!!! הוא כתב לי 17 ערוצים וכשבדקתי על תקופה ארוכה יותר הוא נתן לי רק 16!!!

      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • RE: ממשק HTML לבדיקת כמות מאזינים בו זמנית (ערוצים)

      @פתרון-AI אין עליך, יש כ"כ הרבה דברים באתר שלך, זה פשוט מטורף

      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • RE: ממשק HTML לבדיקת כמות מאזינים בו זמנית (ערוצים)

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

      פורסם בטיפים עצות והדגמות מהמשתמשים
      א
      איל משולש
    • RE: הודעות מערכת שלא עובדת ב API

      @CUBASE כן אני יודע, אבל אני לא רוצה שישמיע את השנה

      בהודעות מערכת שם זה הופיע אבל זה לא היה אמור לעשות את זה בכלל

      פורסם בעזרה הדדית למשתמשים מתקדמים
      א
      איל משולש
    • RE: הקשות DTMF, איך אני יודע מה הקשה שעובדת

      @אז-נדברו עובד, ממש תודה רבה

      פורסם בעזרה הדדית למשתמשים מתקדמים
      א
      איל משולש
    • RE: הודעות מערכת שלא עובדת ב API

      @אז-נדברו להעלות קובץ משלי אני יכול על כל הודעה....

      פורסם בעזרה הדדית למשתמשים מתקדמים
      א
      איל משולש