• 2 הצבעות
    2 פוסטים
    15 צפיות
    פ
    @איל-משולש וואו מגניב זה היה החלום שלי שיוכלו לשתף קוד ואנשים לא יסתבכו פשוט יעתיקו הכל למערכת ובלחיצה יש להם שרת והכל
  • הסוף להקשות בטלפון !!!

    עזרה הדדית למשתמשים מתקדמים
    25
    1 הצבעות
    25 פוסטים
    113 צפיות
    פ
    @המתכנת-הראשי @נר-יצחק העוזר הלך לישון, סתם צוחק תראו עכשיו הוא בתקופת הרצה וכנראה לא עמד בעומס אנו עובדים לשפר אותו אנא התאזרו בסבלנות @jinji אנו לא עוקפים שום דבר של ימות הכל לפי התיעוד של ימות! אני חייב לשתף אותכם שפיתחתי את זה ביחד עם @הדיבל-המעופף והוא עשה את כל הבדיקות ושיפורים לעין ערוך ממה שהיה בהתחלה התייעצתי איתו האם הוא מוכן לפרסום מחמת שיתכנו עדיין באגים והוא בהרצה, אמרתי לו תקשיב תפרסם אתה אני עוד לא מוציא פרסום רשמי לכן כל מי שרוצה להשתתף בתקופת הרצה אין בעיה אבל תקחו בחשבון שעדיין יתכנו באגים בהמשך כשיהיה מוש.. אשתדל לעשות פוסט רשמי ומסודר של כל הפונקציות @יענקי-פולק אם אתה אומר שיהיה תלות אני גונז את הרעיון, לא רוצה שיתבטלו בגללי רק שיקל לאנשים על החיים במיוחד מי שמשתמש בטלפון כשר ולא זמין במחשב
  • 3 הצבעות
    19 פוסטים
    338 צפיות
    פ
    @איל-משולש אני אנסה להשוות בין הקובץ שלך למערכת שלי וננסה לזהות מה יותר טוב
  • 0 הצבעות
    1 פוסטים
    17 צפיות
    אין תגובות
  • דרמה!! מישהו שמע על זה????

    שאלות ועזרה הדדית
    306
    1 הצבעות
    306 פוסטים
    10k צפיות
    י
    @אז-נדברו כתב: @מוטי-לוין נבחנת כעת אפשרות של תמחור של 0.5 יחידות על כל דקת שיחה מעבר למגבלת ערוצים, וכך מי שירצה יוכל לאפשר חיוג מעבר למכסה. אני חושב שזה רעיון מושלם!!! לפי נתונים של החודשים האחרונים, יספיק לי 20 ערוצים, אבל יש בערך 7 או 10 פעמים בחודש שיש בערך 25 ערוצים, בסך הכול בחודש האחרון היו 3 דקות שעקפתי את ה20 ערוצים, אני חושב שזה יספק פיתרון טוב ומושלם!!!
  • קוד למעבר למשאיר ההודעה - בעלות יחידות

    פורום PHP
    8
    1 הצבעות
    8 פוסטים
    154 צפיות
    א
    @בונה-מערכות תעשה את זה דרך האתר של @פתרון-ai תכנס לאתר תרשם [אם אתה נרשם עם שמירת טוקן בדפדפן זה לא חשוף אפי' לו עצמו] תעשה חיבור לקלופיירד [image: 1792715854265-f2adb873-e243-42c2-9462-1f0bdf4752be-image.jpeg] תרשם עם החשבון גוגל תבחר אח"כ בסקריפט לצד שרת [image: 1792715946271-917a8bc9-0ad5-45e9-bcd4-087d0b3533ce-image.jpeg] ושים תשים את הקוד הבא (שים לב להחליף את המספר מערכת וסיסמה) תעשה פריסה, יופיע לך בצד קישור Spoiler אתה צריך להגדיר בשלוחה את המקש כ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,,,,,`); }, };
  • האתר בטא הפסיק לעבוד?

    נעול עזרה הדדית למשתמשים מתקדמים
    3
    1
    0 הצבעות
    3 פוסטים
    36 צפיות
    א
    @איל-משולש האתר חזר לעבוד.
  • בעיה בקישור באתר החדש (האמצעי)

    על הפורום
    22
    1
    0 הצבעות
    22 פוסטים
    58 צפיות
    א
    @אז-נדברו תודה רבה! אין מילים! אשמח שתעביר לחברה בימות.
  • מה זה תיבה אישית?

    שאלות ועזרה הדדית
    40
    0 הצבעות
    40 פוסטים
    352 צפיות
    מ
    @אA בסדר תודה
  • השמעת הודעת קמפיין בתפריט

    עזרה הדדית למשתמשים מתקדמים
    7
    0 הצבעות
    7 פוסטים
    51 צפיות
    א
    @שלוחה-404 מה עם מעבר לשלוחה אחרת עם אקסס פילטר?
  • באג בAPI להגדרת הגדרות?

    עזרה הדדית למשתמשים מתקדמים
    5
    0 הצבעות
    5 פוסטים
    44 צפיות
    א
    @אז-נדברו תודה רבה!
  • 0 הצבעות
    6 פוסטים
    64 צפיות
    ה
    @שיבקשו-שלשתם מה ש@שמואל כתב פה רלןןנטי גם למוזיקת המתנה למענה מהשרת. בגדול אתה צריך להינס לשלוחת הtype=api ובקובץ ext.ini להגדיר: מוזיקה ברירת מחדל: api_music_on_hold=yes וכדי לעלות מוזיקה משלך תוסיף את השורה הזאת api_music_on_hold=שם_המוזיקה_שלכם
  • 0 הצבעות
    5 פוסטים
    33 צפיות
    ה
    @חוויה-טלפונית יש פיתוח של @דוד_מלך_ישראל פה
  • שינוי קול בהגדרות כלל המערכת אפשרי?

    שאלות ועזרה הדדית
    8
    0 הצבעות
    8 פוסטים
    74 צפיות
    מ
    עכשיו עובד לי הסרתי את tts_voice=ymMale על איזה קול הכי נורמלי אתם ממליצים?
  • ניוד מספר נייד כשר לימות+קבלת SMS

    לא נפתר טיפים עצות והדגמות מהמשתמשים
    8
    0 הצבעות
    8 פוסטים
    63 צפיות
    א
    @איל-משולש כתב: @אז-נדברו האם זה רק בתשלום מראש או גם אח"כ? אפשר גם רטרואקטיבי.
  • 1 הצבעות
    18 פוסטים
    341 צפיות
    מ
    @המתכנת-הראשי יש לי טוקמן של הוט מובייל כבר כמה שנים ועד היום כולל היום הוא פעיל בלי בעיה כלל, מאנם בהתחלה קניתי חבילה חאת של דקות, אולי בזה נעוץ ההבדל
  • שינוי קריין

    פורום מפתחים API
    2
    0 הצבעות
    2 פוסטים
    30 צפיות
    ה
    @דוד-1 לא הסברת מה הAPI עושה, אבל לרוב אפשר להכניס בהגדרות הגלובליות בלי בעיה. עיין כאן בקולות הזמינים.
  • חיפוש גוגל בפורום

    על הפורום
    2
    0 הצבעות
    2 פוסטים
    18 צפיות
    א
    @אז-נדברו כתב: כיון ששמואל לכאורה לא יקדיש זמן לטפל בזה יצרתי לך סקריפט בtampermonkey לתיקון כפתורי "חיפוש גוגל בפורום" ו"חיפוש בהגדרות מתקדמות" (כאן יש הוראות התקנה לתוסף). הנה הסקריפט: // ==UserScript== // @name פורום ימות - תיקון כפתורי החיפוש // @namespace https://f2.freeivr.co.il/ // @version 1.0.0 // @description מתקן את "חיפוש גוגל בפורום" ואת "חיפוש בהגדרות המתקדמות" - שניהם פותחים חלון חיפוש // @match https://f2.freeivr.co.il/* // @run-at document-idle // @grant none // ==/UserScript== (function () { 'use strict'; const LOGO_URL = 'https://f2.freeivr.co.il/assets/uploads/system/site-logo.gif?v=090613ffd44'; const SITE = location.hostname; // f2.freeivr.co.il const MODAL_ID = 'ym-search-modal'; const ADV_OLD_LABEL = 'חיפוש בהגדרות המתקדמות'; const ADV_LABEL = 'חיפוש באזור התעשייה - הגדרות המערכת'; // ================= עזרים ================= function matchesNavButton(el, hrefRegex, title) { const a = el.closest('a'); if (!a) return false; if (hrefRegex.test(a.getAttribute('href') || '')) return true; const li = a.closest('li'); return !!(li && (li.getAttribute('data-bs-original-title') === title || li.getAttribute('title') === title)); } function currentTopicId() { const m = location.pathname.match(/\/topic\/(\d+)/); return m ? m[1] : null; } // ================= חיפוש גוגל ================= function googleSearch(query, topicId) { const scope = topicId ? `site:${SITE}/topic/${topicId}/` : `site:${SITE}`; const url = 'https://www.google.com/search?q=' + encodeURIComponent(`${scope} ${query}`); window.open(url, '_blank', 'noopener'); } function openGoogleModal() { const topicId = currentTopicId(); openSearchModal({ placeholder: 'הקלידו כדי לחפש בגוגל', logoAlt: 'חיפוש בגוגל', buttons: [ { label: 'חיפוש בכל הפורום', cls: 'btn-secondary', title: 'לחצו על אנטר כדי לחפש', isEnter: true, run: (q) => googleSearch(q, null), }, { label: 'חיפוש בנושא זה', cls: 'btn-primary', available: !!topicId, unavailableTitle: 'זמין רק בתוך נושא', run: (q) => googleSearch(q, topicId), }, ], }); } // ================= חיפוש בהגדרות המתקדמות ================= function advancedSearchPath(term) { return 'search?in=titlesposts&term=' + encodeURIComponent(term) + '&matchWords=all&by=&categories%5B%5D=1&searchChildren=true&hasTags=&replies=' + '&repliesFilter=atleast&timeFilter=newer&timeRange=&sortBy=relevance' + '&sortDirection=desc&showAs=posts'; } function goAdvancedSearch(term, newTab) { const path = advancedSearchPath(term); if (newTab) { window.open('/' + path, '_blank', 'noopener'); } else if (window.ajaxify && typeof window.ajaxify.go === 'function') { window.ajaxify.go(path); // ניווט SPA בלי רענון } else { location.href = '/' + path; } } function openAdvancedModal() { openSearchModal({ placeholder: ADV_LABEL, logoAlt: 'חיפוש בפורום', buttons: [ { label: 'חיפוש', cls: 'btn-primary', title: 'אנטר לחיפוש, Ctrl+אנטר או Ctrl+לחיצה לפתיחה בלשונית חדשה', isEnter: true, run: (q, newTab) => goAdvancedSearch(q, newTab), }, ], }); } // ================= יירוט הלחיצות ================= document.addEventListener('click', (e) => { let handler = null; if (matchesNavButton(e.target, /\/misc\/freeivr\/?$/, 'חיפוש גוגל בפורום')) { handler = openGoogleModal; } else if (matchesNavButton(e.target, /^\/?SearchSettings\/?$/i, ADV_OLD_LABEL) || matchesNavButton(e.target, /^\/?SearchSettings\/?$/i, ADV_LABEL)) { handler = openAdvancedModal; } if (!handler) return; e.preventDefault(); e.stopImmediatePropagation(); // מונע את ajaxify של NodeBB handler(); }, true); // ================= שינוי התווית של כפתור ההגדרות המתקדמות ================= function relabelAdvancedButton() { document.querySelectorAll('a[href="/SearchSettings"], a[href="SearchSettings"]').forEach((a) => { const li = a.closest('li'); if (!li || li.dataset.ymRelabeled === '1') return; li.dataset.ymRelabeled = '1'; // הטקסט הצף (Bootstrap tooltip) li.setAttribute('data-bs-original-title', ADV_LABEL); if (li.hasAttribute('title')) li.setAttribute('title', ADV_LABEL); a.setAttribute('aria-label', ADV_LABEL); try { const tip = window.bootstrap && window.bootstrap.Tooltip && window.bootstrap.Tooltip.getInstance(li); if (tip && typeof tip.setContent === 'function') { tip.setContent({ '.tooltip-inner': ADV_LABEL }); } } catch (err) { /* לא קריטי */ } // הטקסט שמוצג בתפריט בנייד const span = a.querySelector('span.visible-xs-inline'); if (span) span.textContent = ADV_LABEL; }); } relabelAdvancedButton(); let relabelPending = false; new MutationObserver(() => { if (relabelPending) return; relabelPending = true; requestAnimationFrame(() => { relabelPending = false; relabelAdvancedButton(); }); }).observe(document.body, { childList: true, subtree: true }); // ================= סגנון ================= function injectStyle() { if (document.getElementById(MODAL_ID + '-style')) return; const css = ` #${MODAL_ID}{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center; padding:1.75rem .5rem;background:rgba(0,0,0,.5);direction:rtl;} #${MODAL_ID} .ymg-dialog{background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#212529); width:100%;max-width:500px;border-radius:.5rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.25);overflow:hidden;} #${MODAL_ID} .ymg-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem; padding:1rem;border-bottom:1px solid var(--bs-border-color,#dee2e6);} #${MODAL_ID} .ymg-logo{flex:1;text-align:center;} #${MODAL_ID} .ymg-logo img{max-width:100%;max-height:90px;} #${MODAL_ID} .ymg-close{background:none;border:0;font-size:1.75rem;line-height:1;cursor:pointer; color:inherit;opacity:.6;padding:0 .25rem;} #${MODAL_ID} .ymg-close:hover{opacity:1;} #${MODAL_ID} .ymg-body{padding:1rem;} #${MODAL_ID} .ymg-footer{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start; padding:.75rem 1rem;border-top:1px solid var(--bs-border-color,#dee2e6);} #${MODAL_ID} .btn[disabled]{opacity:.5;cursor:not-allowed;} `; const style = document.createElement('style'); style.id = MODAL_ID + '-style'; style.textContent = css; document.head.appendChild(style); } // ================= חלון חיפוש כללי ================= // buttons: [{ label, cls, title?, isEnter?, available? (ברירת מחדל true), unavailableTitle?, run(query, newTab) }] function openSearchModal({ placeholder, logoAlt, buttons }) { if (document.getElementById(MODAL_ID)) return; injectStyle(); const wrap = document.createElement('div'); wrap.id = MODAL_ID; wrap.setAttribute('role', 'dialog'); wrap.setAttribute('aria-modal', 'true'); wrap.innerHTML = ` <div class="ymg-dialog"> <div class="ymg-header"> <div class="ymg-logo"><img alt=""></div> <button type="button" class="ymg-close" aria-label="סגירה">&times;</button> </div> <div class="ymg-body"> <input type="text" class="form-control ymg-input" autocomplete="off"> </div> <div class="ymg-footer"></div> </div>`; const img = wrap.querySelector('.ymg-logo img'); img.src = LOGO_URL; img.alt = logoAlt; const input = wrap.querySelector('.ymg-input'); input.placeholder = placeholder; const footer = wrap.querySelector('.ymg-footer'); const btnEls = buttons.map((b) => { const el = document.createElement('button'); el.type = 'button'; el.className = 'btn ' + b.cls; el.textContent = b.label; el.disabled = true; const available = b.available !== false; const t = available ? b.title : b.unavailableTitle; if (t) el.title = t; el.addEventListener('click', (e) => run(b, e.ctrlKey || e.metaKey)); footer.appendChild(el); return { def: b, el, available }; }); const cancel = document.createElement('button'); cancel.type = 'button'; cancel.className = 'btn btn-light'; cancel.textContent = 'ביטול'; footer.appendChild(cancel); document.body.appendChild(wrap); const query = () => input.value.trim(); const updateButtons = () => { const hasText = query().length > 0; btnEls.forEach(({ el, available }) => { el.disabled = !hasText || !available; }); }; const close = () => { wrap.remove(); document.removeEventListener('keydown', onKey, true); }; function run(b, newTab) { const q = query(); if (!q) { input.focus(); return; } close(); b.run(q, newTab); } const onKey = (e) => { if (e.key === 'Escape') { e.preventDefault(); close(); } else if (e.key === 'Enter' && document.activeElement === input) { e.preventDefault(); const enterBtn = btnEls.find(({ def }) => def.isEnter); if (enterBtn && !enterBtn.el.disabled) run(enterBtn.def, e.ctrlKey || e.metaKey); } }; input.addEventListener('input', updateButtons); wrap.querySelector('.ymg-close').addEventListener('click', close); cancel.addEventListener('click', close); wrap.addEventListener('mousedown', (e) => { if (e.target === wrap) close(); }); document.addEventListener('keydown', onKey, true); setTimeout(() => input.focus(), 0); } })();
  • 3 הצבעות
    19 פוסטים
    415 צפיות
    י
    @המומחה יענקי-פולק כתב: כי הקישור להוצאת המפתח חסום לי מנטפרי
  • דחוף עזרה

    שאלות ועזרה הדדית
    7
    0 הצבעות
    7 פוסטים
    61 צפיות
    י
    @דוד-1 אגב תסתכל כאן