דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. רשתות
  4. פיתוח ועיצוב אתרים
  5. Full Stack
  6. צד שרת
  7. NodeJS
  8. עזרה הדדית - NodeJS
  9. בקשת מידע | פעולה אחרי id_listוכו' בימות ראוטר

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

מתוזמן נעוץ נעול הועבר עזרה הדדית - NodeJS
46 פוסטים 4 כותבים 131 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ע עידו300

    @צדיק-תמים מחקתי והתקנתי שוב
    ועוד פעם אותו הדבר
    27582abc-35cc-4e25-b673-68c9eb1905ff-image.png

    צדיק תמיםצ מנותק
    צדיק תמיםצ מנותק
    צדיק תמים
    מדריכים
    כתב נערך לאחרונה על ידי
    #26

    @עידו300 תעלה את הקובץ package.json

    רוצה לזכור קריאת שמע בזמן? לחץ כאן! || אתר שכולו מדריכים

    ע 3 תגובות תגובה אחרונה
    0
    • צדיק תמיםצ צדיק תמים

      @עידו300 תעלה את הקובץ package.json

      ע מנותק
      ע מנותק
      עידו300
      כתב נערך לאחרונה על ידי עידו300
      #27

      @צדיק-תמים
      {
      "name": "real-estate-brokerage-platform",
      "version": "0.0.1",
      "main": "app.js",
      "private": "true",
      "scripts": {
      "start": "node app.js"
      },
      "keywords": [],
      "author": "eido taib",
      "license": "UNLICENSED",
      "type": "module",
      "dependencies": {
      "express": "^4.21.2",
      "yemot-router2": "file:.."
      }
      }

      node_modules]# ls -l yemot-router2
      lrwxrwxrwx. 1 root root 5 Oct 30 16:44 yemot-router2 -> ../..

      צדיק תמיםצ תגובה 1 תגובה אחרונה
      0
      • צדיק תמיםצ צדיק תמים

        @עידו300 תעלה את הקובץ package.json

        ע מנותק
        ע מנותק
        עידו300
        כתב נערך לאחרונה על ידי עידו300
        #28

        @צדיק-תמים כאילו זה מותקן בתיקיית root
        בלאגן שלם פתאום נהיה שם

        סידרתי את זה, לא יודע ממה זה קרה

        תגובה 1 תגובה אחרונה
        0
        • צדיק תמיםצ צדיק תמים

          @עידו300 תעלה את הקובץ package.json

          ע מנותק
          ע מנותק
          עידו300
          כתב נערך לאחרונה על ידי עידו300
          #29

          @צדיק-תמים מישהו יודע מה הסיפור של השגיאה הזו?

          else if (toDo == 9)
               {
                 let ans = await call.read([{type: 'text', data: "אנא הקלט משהו"}], "record");
                 console.log(ans);
                execFile("python3", ["/public_html/recognize.py",ans], (error, stdout, stderr) => {
                 console.log(stdout);
                 console.log(error);
                  if (error) {
                    console.error(error);
                  call.id_list_message([{type:'text', data: "Error processing audio" }]);
                        return;
                  }
                  console.log("הבעיה כאן! בפלט");
                  call.id_list_message([{type:'text', data: stdout}]);
                  console.log("הבעיה כאן! בפלט");
                });
              }
          

          זה הקובץ פייתון (מתמלל מצוין, אגב)

          from pydub import AudioSegment
          import speech_recognition as sr
          from rapidfuzz import process, fuzz
          import sys, json, tempfile, requests
          
          token = ""
          BASE_URL = f"https://www.call2all.co.il/ym/api/DownloadFile?token={token}&path=ivr2:/"
          
          def add_silence(audio_segment):
              silence = AudioSegment.silent(duration=1000)
              return silence + audio_segment + silence
          
          def recognize_speech(audio_segment):
              recognizer = sr.Recognizer()
              with tempfile.NamedTemporaryFile(suffix=".wav", delete=True) as temp_wav:
                  audio_segment.export(temp_wav.name, format="wav")
                  with sr.AudioFile(temp_wav.name) as source:
                      data = recognizer.record(source)
                      try:
                          return recognizer.recognize_google(data, language="he-IL")
                      except sr.UnknownValueError:
                          return ""  # לא זוהה דיבור
                      except sr.RequestError as e:
                          return f"Error: {e}"  # בעיה עם ה‑API
          
          
          if __name__ == "__main__":
              # argv[1] = שם הקובץ בתוך ivr2:/  (למשל "1/003.wav")
              file_name = sys.argv[1]
              file_url = f"{BASE_URL}{file_name}"
          
              # 1️⃣ הורדת הקובץ מהאינטרנט
              response = requests.get(file_url)
              if response.status_code != 200:
                  print("Error downloading audio file")
                  sys.exit(1)
          
              # 2️⃣ שמירתו זמנית וטעינה עם pydub
              with tempfile.NamedTemporaryFile(suffix=".wav", delete=True) as temp_audio:
                  temp_audio.write(response.content)
                  temp_audio.flush()
                  audio = AudioSegment.from_file(temp_audio.name, format="wav")
          
                  # 3️⃣ הוספת שנייה שקט
                  audio = add_silence(audio)
          
                  # 4️⃣ זיהוי דיבור
                  recognized_text = recognize_speech(audio)
          
          
                  # ✅ הדפסת התוצאה
                  print(recognized_text)
          
          

          השגיאה שאני מקבל:

          [716b56ab1a7cfd79b974fa0d55f5cbbd65915674]: Cannot send id_list_message after sending response (probably done from uncaughtErrorHandler due to error in asynchronous code after returning response)

          אני לא מוצא על איזה id_list_message הוא מתכוון... הוא לא משמיע כלום. גם לא את הid_list_message של השגיאה, בוודאות!

          הקטע שהוא רושם ללוג את 2 הטקסטים גם שלפני הid_list_message וגם שאחרי, ז"א שהריצה לא מסתיימת.

          צדיק תמיםצ תגובה 1 תגובה אחרונה
          0
          • ע מנותק
            ע מנותק
            עידו300
            כתב נערך לאחרונה על ידי
            #30

            מישהו?

            תגובה 1 תגובה אחרונה
            0
            • ע מנותק
              ע מנותק
              עידו300
              כתב נערך לאחרונה על ידי
              #31

              מצרף את הקוד המלא אם זה יעזור למישהו לעזור לי...

              import { YemotRouter } from 'yemot-router2';
              import {sendRequest, mainextPath} from '../utils/utils_func.js';
              import '../utils/type.js'; 
              import {execFile} from 'child_process';
              
              
              /** @param {import('yemot-router2').Call} call */
              export async function callHandler (call) {
                      console.log("מכין בקשה");
                  
                  // מקבל את כל ההעדפות של המאזין
                  const params = new URLSearchParams({ phone: call.ApiPhone.replace("+972","0") });
                  const url = `https://stamandsefer.co.il/appart/new/getTzintukSubcrib.php?${params}`;
              
                  /** @type {AdResponse} */
                  let responseSubscribe = await sendRequest(call ,url, "אירעה שגיאה בעת מציאת רישום להתראה");
                  console.log("responseSubscribe: ", responseSubscribe);
              
                  // יוצר פרמטרים לשליחה לקבלת כל המודעות שלא נקראו על פי ההעדפות הנ"ל
                  let sumAds = 0;
              
               for (let element of makeAdsParams(responseSubscribe, call)) {
                  //console.log("נכנס ללולאה");
                  if(element.betShemesh == null) {element.betShemesh = ""};
                  // מכל שורת פרמטרים מקבל את המודעות
                      /** @type {AdResponse} */
                    let responseAds = await sendRequest(call ,`https://stamandsefer.co.il/appart/new/getBuyerAds.php?${new URLSearchParams(element)}`, "אירעה שגיאה בעת מציאת מודעות");
                    //console.log("responseAds: ", responseAds);  
                    sumAds = sumAds + responseAds.count;
                  };
              
                  // אם אין מודעות בכלל עובר לשלוחה ראשית
                  if (sumAds==0)
                  {
                      call.go_to_folder("/1/1");
                  }
                  
              for (let index = 0; index < 3; index++) {
                  
                  let toDo = await call.read([{type:"text", data:`יש ${sumAds} התראות חדשות למעבר לשמיעת ההתראות הקש 1 למעבר לשאר השלוחות 2`}], 
                      'tap',
                  {min_digits: 1, digits_allowed: [1,2, 9, "*0"], typing_playback_mode: 'No'});
              
                   if (toDo == 1) {
                      call.go_to_folder("/1/1/3");
                   } else if (toDo == 2 || toDo == "*0") {
                      call.go_to_folder(mainextPath);
                   }
                      else if (toDo == 9)
                   {
                     let ans = await call.read([{type: 'text', data: "אנא הקלט משהו"}], "record");
                     console.log(ans);
                    execFile("python3", ["/home/node.stamandsefer.co.il/public_html/recognize.py",ans], (error, stdout, stderr) => {
                     console.log(stdout);
                      if (error) {
                        console.error(error);
                      call.id_list_message([{type:'text', data: "Error processing audio" }]);
                      return;
                      }
                      console.log("הבעיה כאן! בפלט");
                      call.id_list_message([{type:'text', data: ` התוצאה היא ${stdout}`}]);
                      console.log("הבעיה כאן! בפלט");
                    });
                  }
              }
              
              call.go_to_folder("/1/1");
              }
              
              
              /***************************************** */
              /** @param {AdResponse} res @param {import('yemot-router2').Call} call */
              function makeAdsParams(res, call) {
                  if (!res || !Array.isArray(res.data)) return [];
                  let ads = [];
                  /** @type {AdData[]} */
                  for (const adBase of res.data) {
                          // עיבוד מודעה
                  let paramsOfAd = {};
                      // מוסיף לכל שדה קיים את הערך לאובייקט
                  const allowedFields = ['buyorrent', 'city', 'betShemesh', 'region', 'room'];
                  for (const key of allowedFields) {
                      if (adBase[key] !== undefined && adBase[key] !== null) {
                          paramsOfAd[key] = adBase[key];
                      }
                  }
              
                  paramsOfAd.phone =  call.ApiPhone.replace("+972", "0");
                  if (paramsOfAd.room)
                  {
                      paramsOfAd.room = paramsOfAd.room.toString().replace(".0","");
                  }
                  ads.push(paramsOfAd);
                  }
              
                  return ads;
              }
              
              /***************************************** */
              /** @param {AdResponse} res*/
              function makeAds(res)
              {
                  const adsData = res?.data ?? res?.results;
                  if (!Array.isArray(adsData)) return [];
              
                  let ad = [], tempAd;
                      for (const adBase of adsData) {
                      tempAd = `המודעה היא דירה ל${adBase.buyorrent} ב${adBase.city} `;
                      if (adBase.city === "בית שמש") tempAd += `ה${adBase.betShemesh} `;
                      tempAd += `${adBase.room} חדרים  בשכונה ${adBase.region} ברחוב ${adBase.street} מספר ${adBase.number} קומה ${adBase.floor} במחיר ${adBase.price} טלפון ליצירת קשר ${adBase.phone} `;
                      if (adBase.phone2) tempAd += ` טלפון נוסף ${adBase.phone2}`;
                      tempAd = tempAd.replace(".0","").replace(".5"," וחצי").replace("-","מינוס ");
                      console.log(tempAd);   
                      ad.push({ad: tempAd, adId: adBase.id});
                  }
                  return ad;
              }
              
              
              תגובה 1 תגובה אחרונה
              0
              • ע עידו300

                @צדיק-תמים מישהו יודע מה הסיפור של השגיאה הזו?

                else if (toDo == 9)
                     {
                       let ans = await call.read([{type: 'text', data: "אנא הקלט משהו"}], "record");
                       console.log(ans);
                      execFile("python3", ["/public_html/recognize.py",ans], (error, stdout, stderr) => {
                       console.log(stdout);
                       console.log(error);
                        if (error) {
                          console.error(error);
                        call.id_list_message([{type:'text', data: "Error processing audio" }]);
                              return;
                        }
                        console.log("הבעיה כאן! בפלט");
                        call.id_list_message([{type:'text', data: stdout}]);
                        console.log("הבעיה כאן! בפלט");
                      });
                    }
                

                זה הקובץ פייתון (מתמלל מצוין, אגב)

                from pydub import AudioSegment
                import speech_recognition as sr
                from rapidfuzz import process, fuzz
                import sys, json, tempfile, requests
                
                token = ""
                BASE_URL = f"https://www.call2all.co.il/ym/api/DownloadFile?token={token}&path=ivr2:/"
                
                def add_silence(audio_segment):
                    silence = AudioSegment.silent(duration=1000)
                    return silence + audio_segment + silence
                
                def recognize_speech(audio_segment):
                    recognizer = sr.Recognizer()
                    with tempfile.NamedTemporaryFile(suffix=".wav", delete=True) as temp_wav:
                        audio_segment.export(temp_wav.name, format="wav")
                        with sr.AudioFile(temp_wav.name) as source:
                            data = recognizer.record(source)
                            try:
                                return recognizer.recognize_google(data, language="he-IL")
                            except sr.UnknownValueError:
                                return ""  # לא זוהה דיבור
                            except sr.RequestError as e:
                                return f"Error: {e}"  # בעיה עם ה‑API
                
                
                if __name__ == "__main__":
                    # argv[1] = שם הקובץ בתוך ivr2:/  (למשל "1/003.wav")
                    file_name = sys.argv[1]
                    file_url = f"{BASE_URL}{file_name}"
                
                    # 1️⃣ הורדת הקובץ מהאינטרנט
                    response = requests.get(file_url)
                    if response.status_code != 200:
                        print("Error downloading audio file")
                        sys.exit(1)
                
                    # 2️⃣ שמירתו זמנית וטעינה עם pydub
                    with tempfile.NamedTemporaryFile(suffix=".wav", delete=True) as temp_audio:
                        temp_audio.write(response.content)
                        temp_audio.flush()
                        audio = AudioSegment.from_file(temp_audio.name, format="wav")
                
                        # 3️⃣ הוספת שנייה שקט
                        audio = add_silence(audio)
                
                        # 4️⃣ זיהוי דיבור
                        recognized_text = recognize_speech(audio)
                
                
                        # ✅ הדפסת התוצאה
                        print(recognized_text)
                
                

                השגיאה שאני מקבל:

                [716b56ab1a7cfd79b974fa0d55f5cbbd65915674]: Cannot send id_list_message after sending response (probably done from uncaughtErrorHandler due to error in asynchronous code after returning response)

                אני לא מוצא על איזה id_list_message הוא מתכוון... הוא לא משמיע כלום. גם לא את הid_list_message של השגיאה, בוודאות!

                הקטע שהוא רושם ללוג את 2 הטקסטים גם שלפני הid_list_message וגם שאחרי, ז"א שהריצה לא מסתיימת.

                צדיק תמיםצ מנותק
                צדיק תמיםצ מנותק
                צדיק תמים
                מדריכים
                כתב נערך לאחרונה על ידי
                #32

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

                זה הקובץ פייתון (מתמלל מצוין, אגב)

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

                            return recognizer.recognize_google(data, language="he-IL")
                

                ברור שזה מזהה מצוין, כי זה STT של גוגל והשרת עושה 0 עגול של עבודה

                רוצה לזכור קריאת שמע בזמן? לחץ כאן! || אתר שכולו מדריכים

                ע תגובה 1 תגובה אחרונה
                1
                • ע עידו300

                  @צדיק-תמים
                  {
                  "name": "real-estate-brokerage-platform",
                  "version": "0.0.1",
                  "main": "app.js",
                  "private": "true",
                  "scripts": {
                  "start": "node app.js"
                  },
                  "keywords": [],
                  "author": "eido taib",
                  "license": "UNLICENSED",
                  "type": "module",
                  "dependencies": {
                  "express": "^4.21.2",
                  "yemot-router2": "file:.."
                  }
                  }

                  node_modules]# ls -l yemot-router2
                  lrwxrwxrwx. 1 root root 5 Oct 30 16:44 yemot-router2 -> ../..

                  צדיק תמיםצ מנותק
                  צדיק תמיםצ מנותק
                  צדיק תמים
                  מדריכים
                  כתב נערך לאחרונה על ידי
                  #33

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

                  "yemot-router2": "file:.."

                  תסיר את yemot-router2 ותתקין מחדש מnpm

                  רוצה לזכור קריאת שמע בזמן? לחץ כאן! || אתר שכולו מדריכים

                  ע תגובה 1 תגובה אחרונה
                  0
                  • צדיק תמיםצ צדיק תמים

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

                    זה הקובץ פייתון (מתמלל מצוין, אגב)

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

                                return recognizer.recognize_google(data, language="he-IL")
                    

                    ברור שזה מזהה מצוין, כי זה STT של גוגל והשרת עושה 0 עגול של עבודה

                    ע מנותק
                    ע מנותק
                    עידו300
                    כתב נערך לאחרונה על ידי
                    #34

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

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

                    זה הקובץ פייתון (מתמלל מצוין, אגב)

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

                                return recognizer.recognize_google(data, language="he-IL")
                    

                    ברור שזה מזהה מצוין, כי זה STT של גוגל והשרת עושה 0 עגול של עבודה

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

                    תגובה 1 תגובה אחרונה
                    0
                    • צדיק תמיםצ צדיק תמים

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

                      "yemot-router2": "file:.."

                      תסיר את yemot-router2 ותתקין מחדש מnpm

                      ע מנותק
                      ע מנותק
                      עידו300
                      כתב נערך לאחרונה על ידי
                      #35

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

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

                      "yemot-router2": "file:.."

                      תסיר את yemot-router2 ותתקין מחדש מnpm

                      זה מה שעשיתי וזה השתנה למשהו אחר.

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

                      צדיק תמיםצ תגובה 1 תגובה אחרונה
                      0
                      • ע עידו300

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

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

                        "yemot-router2": "file:.."

                        תסיר את yemot-router2 ותתקין מחדש מnpm

                        זה מה שעשיתי וזה השתנה למשהו אחר.

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

                        צדיק תמיםצ מנותק
                        צדיק תמיםצ מנותק
                        צדיק תמים
                        מדריכים
                        כתב נערך לאחרונה על ידי
                        #36

                        @עידו300 צריך לעבור את הקוד להבין מה קורה שם, אין לי זמן לזה בפורום ציבורי

                        רוצה לזכור קריאת שמע בזמן? לחץ כאן! || אתר שכולו מדריכים

                        ע תגובה 1 תגובה אחרונה
                        0
                        • צדיק תמיםצ צדיק תמים

                          @עידו300 צריך לעבור את הקוד להבין מה קורה שם, אין לי זמן לזה בפורום ציבורי

                          ע מנותק
                          ע מנותק
                          עידו300
                          כתב נערך לאחרונה על ידי
                          #37

                          @צדיק-תמים מה ששלחתי מקודם זה כל הקוד.
                          הענין הוא שאין שם שום call.idוכו' לפני כן...

                          צדיק תמיםצ תגובה 1 תגובה אחרונה
                          0
                          • ע עידו300

                            @צדיק-תמים מה ששלחתי מקודם זה כל הקוד.
                            הענין הוא שאין שם שום call.idוכו' לפני כן...

                            צדיק תמיםצ מנותק
                            צדיק תמיםצ מנותק
                            צדיק תמים
                            מדריכים
                            כתב נערך לאחרונה על ידי
                            #38

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

                            רוצה לזכור קריאת שמע בזמן? לחץ כאן! || אתר שכולו מדריכים

                            ע תגובה 1 תגובה אחרונה
                            0
                            • צדיק תמיםצ צדיק תמים

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

                              ע מנותק
                              ע מנותק
                              עידו300
                              כתב נערך לאחרונה על ידי
                              #39

                              @צדיק-תמים אין...

                              תגובה 1 תגובה אחרונה
                              0
                              • ע מנותק
                                ע מנותק
                                עידו300
                                כתב נערך לאחרונה על ידי
                                #40

                                ב"ה מצאתי את הבעיה והוא כבר לא זורק שגיאה.
                                אבל עכשיו יש בעיה מוזרה...
                                מסיבה לא ברורה הוא לא מחכה שתגיע תשובה מהסקריפט הנ"ל אלא ממשיך הלאה ורק אח"כ מגיעה התשובה, מה שגורם לזה שהפלט למשתמש וללוג מגיע בלי התשובה...
                                השתמשתי ב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 לא חוסם את זה לגמרי).

                                ע"ה דכו"עע צדיק תמיםצ 2 תגובות תגובה אחרונה
                                0
                                • ע עידו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 לא חוסם את זה לגמרי).

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

                                  @עידו300
                                  איך אתה מגדיר בהתחלה את המשתנה execFile?

                                  ע תגובה 1 תגובה אחרונה
                                  1
                                  • ע"ה דכו"עע ע"ה דכו"ע

                                    @עידו300
                                    איך אתה מגדיר בהתחלה את המשתנה execFile?

                                    ע מנותק
                                    ע מנותק
                                    עידו300
                                    כתב נערך לאחרונה על ידי
                                    #42

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

                                    import {execFile} from 'child_process';
                                    
                                    ע"ה דכו"עע תגובה 1 תגובה אחרונה
                                    0
                                    • ע עידו300

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

                                      import {execFile} from 'child_process';
                                      
                                      ע"ה דכו"עע מנותק
                                      ע"ה דכו"עע מנותק
                                      ע"ה דכו"ע
                                      כתב נערך לאחרונה על ידי
                                      #43

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

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

                                      import {execFile} from 'child_process';
                                      

                                      תייבא ככה

                                      תנסה לשנות לזה

                                      import { execFile } from 'child_process/promises';
                                      

                                      לא מאה אחוז שזה קשור, אבל אני חושב.

                                      ע תגובה 1 תגובה אחרונה
                                      0
                                      • ע"ה דכו"עע ע"ה דכו"ע

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

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

                                        import {execFile} from 'child_process';
                                        

                                        תייבא ככה

                                        תנסה לשנות לזה

                                        import { execFile } from 'child_process/promises';
                                        

                                        לא מאה אחוז שזה קשור, אבל אני חושב.

                                        ע מנותק
                                        ע מנותק
                                        עידו300
                                        כתב נערך לאחרונה על ידי
                                        #44

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

                                        ע"ה דכו"עע תגובה 1 תגובה אחרונה
                                        0
                                        • ע עידו300

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

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

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

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

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

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

                                          • התחברות

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

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