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

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
ע

עידו300

@עידו300
אודות
פוסטים
182
נושאים
15
שיתופים
0
קבוצות
0
עוקבים
1
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • בירור | ניתוק ווצאפ פון שלא בשימוש
    ע עידו300

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

    מערכות IVR - ימות המשיח

  • בירור | ניתוק ווצאפ פון שלא בשימוש
    ע עידו300

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

    אם סגרו לך למרות ששילמת, תפנה אליהם, זה לא אמור לקרות, ואם זה היה טעות והחזירו לך, אז תוסיף גם את זה...

    מערכות IVR - ימות המשיח

  • בירור | ניתוק ווצאפ פון שלא בשימוש
    ע עידו300

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

    מערכות IVR - ימות המשיח

  • בקשת מידע | פלאפון כשר עם כתב גדול
    ע עידו300

    @cfopuser כתב בבקשת מידע | פלאפון כשר עם כתב גדול:

    @עידו300 5X5 4X4 Q8 Q7

    בכולם יש הגדרה לטקסט מוגדל

    אמינים, שיחות טובות?

    שונות וטיפים - סלולרי

  • בקשת מידע | פלאפון כשר עם כתב גדול
    ע עידו300

    האם יש פלאפון כשר שיש בו כתב גדול לכאלו שצריכים משקפים לראיה מקרוב?
    אבל פלאפון טוב עם שמע טוב וכו'

    שונות וטיפים - סלולרי

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

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

    עזרה הדדית - NodeJS

  • בירור | קריסה במערכות ימות המשיח כבר כשעה.
    ע עידו300

    @שלום-שלמה אמרו עד מוצא"ש...

    מערכות IVR - ימות המשיח

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

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

    עזרה הדדית - NodeJS

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

    גם ג'מני וגם gpt ענו תשובה לא הגיונית.
    הספריה לא יודעת לעבד את ה... אז קודם לשים את התוצאה במשתנה, ואז את המשתנה לשים עם ... בread...
    לא יודע, לי לא נשמע הגיוני.

    עזרה הדדית - NodeJS

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

    יש לי את הקוד הזה:

    function numberBelowThousandToWords(num) {
        let words = [];
        if (num >= 100) {
                 words.push({ type: 'file', data: `/ivr_records/${hundreds[h]}` });
            num %= 100;
            if (num > 0) words.push({ type: 'file', data: `/ivr_records/${num}` });
        } else {
            words.push({ type: 'file', data: `/ivr_records/${num}` });
        }
        return words;
    }
    
    export function numberToHebrewWords(num) {
        if (num === 0) return [{ type: 'file', data: `/ivr_records/0` }];
        let words = [];
    
        // מיליון
        if (num >= 1_000_000) {
            const millions = Math.floor(num / 1_000_000);
            if (millions === 1) {
                words.push({ type: 'file', data: `/ivr_records/מיליון` });
            } else if (millions === 2) {
                words.push({ type: 'file', data: `/ivr_records/שני מיליון` });
            } else {
                words.push(...numberBelowThousandToWords(millions));
                words.push({ type: 'file', data: `/ivr_records/מיליון` });
            }
            num %= 1_000_000;
        }
    
        // אלפים
        if (num >= 1000) {
            const thousands = Math.floor(num / 1000);
            if (thousands === 1) {
                words.push({ type: 'file', data: `/ivr_records/אלף` });
            } else if (thousands === 2) {
                words.push({ type: 'file', data: `/ivr_records/אלפיים` });
            } else if (thousands < 100) {
                // מספר <100 נשאר כמו שהוא
                words.push({ type: 'file', data: `/ivr_records/${thousands}` });
                words.push({ type: 'file', data: `/ivr_records/אלף` });
            } else {
                // מעל 100 → מאות + שאר <100
                words.push(...numberBelowThousandToWords(thousands));
                words.push({ type: 'file', data: `/ivr_records/אלף` });
            }
            num %= 1000;
        }
    
        // מאות + שאר <1000
        if (num > 0) {
            words.push(...numberBelowThousandToWords(num));
        }
    
        return words;
    }
    
     let ad1 = `המודעה היא דירה ל${buyorrent} ב${city}`;
       
       let ad2 = ` טלפון ליצירת קשר ${phone} `;
       
    /*************************************************************************************** */
    //                               שאלת עריכה
    
            while(await call.read([{type: 'text', data: `${ad1}  `},...numberToHebrewWords(price),{ type: 'text', data: `${ad2}  , לעריכת המודעה הקש 1 לפרסום ושמירה 2` }], 'tap', {
            max_digits: 1,
            min_digits: 1,
            typing_playback_mode: "No",
            digits_allowed: [1,2]
    

    מישהו יכול להסביר לי למה התוצאה היא
    read=t-[object Object],[object Object],[object Object],[object Object],[object Object].t-לאישור הקישו 1 להקשה מחודשת
    2=val_17,no,,1,2,No,no,no,,1.2.*0,,,None,

    במקום מה שאמור להיות?

    עזרה הדדית - NodeJS

  • מדריך | חיוג לכל מספר עם זיהוי מערכת שלכם, ללא עלות יחידות!!!
    ע עידו300

    @אברהם-mch לדעתי רוצים להכריח להשתמש ביחידות

    מערכות IVR - ימות המשיח

  • מדריך | חיוג לכל מספר עם זיהוי מערכת שלכם, ללא עלות יחידות!!!
    ע עידו300

    רק לי זה כבר לא עובד? במקום לחייג למערכת הוא מתנתק.

    מערכות IVR - ימות המשיח

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

    @עידו300 כתב בבקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר:

    יש לי קוד שמשמיע מודעה ושואל איזו פעולה לעשות אחרי שמגיעה תשובה ולפני שהפעולה המבוקשת מתבצעת הוא שולח בקשה לסמן את המודעה כנקראה, הענין הוא שאם המאזין מנתק, אז הבקשה לא תשלח והמודעה לא תסומן כנקראה.
    הפתרון הוא try/finally או משהו אחר?

    אין למישהו פתרון אחר?

    עזרה הדדית - NodeJS

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

    @ע-ה-דכו-ע הבעיה שא"א כי אם אשלח את המודעה לבד השיחה תתנתק חייבים להשמיע את המודעה ולשאול על הפעולה בבת אחת.

    עזרה הדדית - NodeJS

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

    יש לי קוד שמשמיע מודעה ושואל איזו פעולה לעשות אחרי שמגיעה תשובה ולפני שהפעולה המבוקשת מתבצעת הוא שולח בקשה לסמן את המודעה כנקראה, הענין הוא שאם המאזין מנתק, אז הבקשה לא תשלח והמודעה לא תסומן כנקראה.
    הפתרון הוא try/finally או משהו אחר?

    עזרה הדדית - NodeJS

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

    @ע-ה-דכו-ע אז GPT הביא לי תיקון:

    הבעיה בקוד שלך היא שקריאת execFile היא אסינכרונית, ולכן הפקודה

    
    console.log(` התוצאה היא ${textFromSpeech}`);
    
    call.id_list_message([...]);
    
    

    מתבצעת לפני שהפונקציה הפנימית של execFile סיימה לרוץ — כלומר, לפני ש־textFromSpeech עודכן בפועל.

    כדי לתקן זאת, יש לעטוף את execFile ב־Promise ולחכות לה באמצעות await.

    כך זה צריך להיראות:

    
    import { execFile } from 'child_process';
    
    import { promisify } from 'util';
    
    const execFileAsync = promisify(execFile);
    
    
    
    let textFromSpeech = "";
    
    
    
    let ans = await call.read([{ type: 'text', data: "אנא הקלט משהו" }], "record");
    
    console.log("ans:", ans);
    
    
    
    try {
    
     // מריץ את הסקריפט פייתון וממתין לתוצאה
    
     const { stdout } = await execFileAsync("python3", [
    
       "/home/node.stamandsefer.co.il/public_html/recognize.py",
    
       ans
    
     ]);
    
    
    
     textFromSpeech = stdout.trim(); // הסר רווחים ושורות מיותרות
    
     console.log(`התוצאה היא: ${textFromSpeech}`);
    
    
    
     await call.id_list_message([
    
       { type: 'text', data: `התוצאה היא ${textFromSpeech}` }
    
     ]);
    
    
    
    } catch (error) {
    
     console.error("Error:", error);
    
     await call.id_list_message([
    
       { type: 'text', data: "אירעה שגיאה בעיבוד האודיו" }
    
     ]);
    
    }
    
    

    הסבר קצר:

    • promisify(execFile) הופך את הפונקציה לגרסה תואמת ל־await.

    • השורה await execFileAsync(...) גורמת לקוד להמתין עד שפייתון יסיים לעבד את הקלט ויחזיר פלט.

    • לאחר מכן אתה יכול להשתמש בתוצאה בביטחון, בלי שהקוד ירוץ מוקדם מדי.

    אם תרצה — אפשר להוסיף גם טיפול במקרה שהקלט ans לא מכיל נתיב לקובץ תקין או שההקלטה נכשלה.

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

    עזרה הדדית - NodeJS

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

    @צדיק-תמים כתב בבקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר:

    await רק מעכב את השורות הבאות, לא תוקע את התוכנה, וכיוון שזה בפונקציה אנונימית זה לא יעכב את המעבר לשורה הבאה

    ככה הבנתי

    עזרה הדדית - NodeJS

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

    @ע-ה-דכו-ע כשכותבים ככה הוא זורק שגיאה

    עזרה הדדית - NodeJS

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

    @ע-ה-דכו-ע לא מגדיר
    רק מה שכתוב בקוד הנ"ל וב

    import {execFile} from 'child_process';
    
    עזרה הדדית - NodeJS

  • בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר
    ע עידו300

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

    let textFromSpeech="";
          let ans = await call.read([{type: 'text', data: "אנא הקלט משהו"}], "record");
           **console.log(ans);**
          await execFile("python3", ["/home/node.stamandsefer.co.il/public_html/recognize.py",ans], (error, stdout, stderr) => {
          // console.log(stdout);
           textFromSpeech = stdout;
           **console.log(textFromSpeech);**
            if (error) {
              console.error(error);
            call.id_list_message([{type:'text', data: "Error processing audio" }]);
            return;
            }
          });
          **console.log(` התוצאה היא ${textFromSpeech}`);**
            call.id_list_message([{type:'text', data: ` התוצאה היא ${textFromSpeech}`}]);
    

    ניסיתי לסמן את הקונסולים בשביל ההבנה. בעצם מה שמגיע זה
    "1/021.wav"
    "התוצאה היא"
    והתוצאה שהגיעה...
    לא לפי הסדר (כמו שאמר כאן @צדיק-תמים שהawait לא חוסם את זה לגמרי).

    עזרה הדדית - NodeJS
  • התחברות

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

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