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

    yemot-router2

    פורום מפתחים API
    4
    41
    240
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ע
      עידו @צדיק תמים נערך לאחרונה על ידי עידו

      @צדיק-תמים שיניתי
      עכשיו אין שגיאות אבל כשנכנסים לשרת הוא רק טוען וטוען
      bb93178a-90d2-4271-889b-a2586a500d3f-image.png
      גם ששמתי את הקישור בשלוחת API לא שומעים כלום

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

        @עידו
        מה הקוד ששמת?

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

          @פיסטוק-פרווה

          import express from 'express';
          import { YemotRouter } from 'yemot-router2';
          import { fileURLToPath } from 'url';
          import process from 'process';
          export const app = express();
          
          export const router = YemotRouter({
              printLog: true,
              uncaughtErrorHandler: (error, call) => {
                  console.log(`Uncaught error in ${call.req.path} from ${call.phone}. error stack: ${error.stack}`);
                  // do something with the error - like send email to developer, print details log, etc.
                  return call.id_list_message([{ type: 'text', data: 'אירעה שגיאה' }]); // play nice error message to the caller
              }
          });
          
          router.events.on('call_hangup', (call) => {
              console.log(`[example.js] call ${call.callId} was hangup`);
          });
          
          router.events.on('call_continue', (call) => {
              console.log(`[example.js] call ${call.callId} was continue`);
          });
          
          router.events.on('new_call', (call) => {
              console.log(`[example.js] new call ${call.callId} from ${call.phone}`);
          });
          
          /** @param {import('yemot-router2').Call} call */
          async function callHandler (call) {
              // לא ניתן להתקדם ללא הקשת 10 וסולמית
              await call.read([{ type: 'text', data: 'היי, תקיש 10' }], 'tap', {
                  max_digits: 2,
                  min_digits: 2,
                  digits_allowed: ['10']
              });
          
              const name = await call.read([{ type: 'text', data: 'שלום, אנא הקש את שמך המלא' }], 'tap', { typing_playback_mode: 'HebrewKeyboard' });
              console.log('name:', name);
          
              const addressFilePath = await call.read(
                  [
                      { type: 'text', data: 'שלום ' + name },
                      { type: 'text', data: 'אנא הקלט את הרחוב בו אתה גר' }
                  ], 'record',
                  { removeInvalidChars: true }
              );
              console.log('address file path:', addressFilePath);
          
              // 💰 קטע זה משתמש בזיהוי דיבור ודורש יחידות במערכת 💰
              const text = await call.read([{ type: 'text', data: 'אנא אמור בקצרה את ההודעה שברצונך להשאיר' }], 'stt');
              console.log('user message:', text);
          
              // לאחר השמעת ההודעה יוצא אוטומטית מהשלוחה
              // לשרשור פעולות לאחר השמעת ההודעה יש להגדיר prependToNextAction: true, ראה בREADME
              return call.id_list_message([{
                  type: 'system_message',
                  data: 'M1399' // תגובתך התקבלה בהצלחה
              }]);
          };
          
          router.get('/', callHandler);
          
          // this must if you want to use post requests (api_url_post=yes)
          app.use(express.urlencoded({ extended: true }));
          
          app.use('/', router);
          
          const port = 3000;
          const isMain = process.argv[1] === fileURLToPath(import.meta.url);
          if (isMain) {
              app.listen(port, () => {
                  console.log(`example yemot-router2 running on port ${port}`);
              });
          }
          
          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • ע
            עידו @פיסטוק פרווה נערך לאחרונה על ידי

            @פיסטוק-פרווה שמתי בשרת קבצי index.js package.json package-lock.json כמו שבתיעוד.

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

              @עידו נשמע חומת אש (firewall)
              ואל תעתיק את כל התיקייה כמו שהיא. תנסה להבין איך package json עובד ותתקן את הספריה כמו שצריך. אבל את הקוד אפשר לעשות העתק הדבק

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

                @צדיק-תמים פתחתי פורט 3000 בחומת אש ועדיין עושה בעיות

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

                  @עידו כשאני נכנס לפורט 3000 זה אכן נכנס בלי בעיות
                  http://node.stamandsefer.co.il:3000/
                  בתמונה לעיל אתה נכנס לפורט 80
                  http://node.stamandsefer.co.il

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

                    @צדיק-תמים על השרת עצמו הוא רץ
                    עשיתי
                    node index.js
                    ויצא
                    example yemot-router2 running on port 3000

                    יצרתי כזה פרויקט במחשב וגם שם הוא מציג אותו הדבר

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

                      @צדיק-תמים כתב בyemot-router2:

                      @עידו כשאני נכנס לפורט 3000 זה אכן נכנס בלי בעיות
                      http://node.stamandsefer.co.il:3000/

                      הוא אומר מענה ריק

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

                        @צדיק-תמים איך מתקדמים עם זה בימות המשיח?

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

                          @עידו כתב בyemot-router2:

                          @צדיק-תמים כתב בyemot-router2:

                          @עידו כשאני נכנס לפורט 3000 זה אכן נכנס בלי בעיות
                          http://node.stamandsefer.co.il:3000/

                          הוא אומר מענה ריק

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

                          תגובה 1 תגובה אחרונה תגובה ציטוט 1
                          • ע
                            עידו נערך לאחרונה על ידי

                            מישהו יודע מה עושים הלאה?
                            כי לא נראה לי תקין להכניס בשלוחה http://node.stamandsefer.co.il:3000/

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

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

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

                                @צדיק-תמים מה שכתבתי במתמחים.
                                למה באמת כולם עושים את זה על פורט 3000? מה רע ב80?

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

                                  @עידו בדרך כלל דווקא לא עושים ככה אלא מאזינים בתוך השרת על פורט גבוה כלשהוא (האזנה לפורטים מתחת 1024 מצריכה הרצה כמנהל) ומשתמשים ברברס פרוקסי כמו nginx כדי לייצא את זה על פורט 80/443 לפי דומיין

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

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

                                    תודה

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

                                      @צדיק-תמים כתב בyemot-router2:

                                      @עידו בדרך כלל דווקא לא עושים ככה אלא מאזינים בתוך השרת על פורט גבוה כלשהוא (האזנה לפורטים מתחת 1024 מצריכה הרצה כמנהל) ומשתמשים ברברס פרוקסי כמו nginx כדי לייצא את זה על פורט 80/443 לפי דומיין

                                      זה בעצם הורות האלה?

                                      RewriteEngine On
                                      RewriteRule ^(.*)$ http://127.0.0.1:3000/$1 [P,L]
                                      
                                      
                                      צ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                      • צ
                                        צדיק תמים @עידו נערך לאחרונה על ידי

                                        @עידו חסר דגל QSA

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

                                          @צדיק-תמים כבר ענית, יכולת להוסיף את הקוד המתוקן.

                                          תודה

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

                                            @עידו ואז תמיד תצטרך לבקש ממני? למה שלא תנסה להבין את התחביר? זה סך הכל 2 שורות

                                            ע תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                            • פוסט ראשון
                                              פוסט אחרון