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

    נפתר מודול API - הערך העשירי (הקשה) - מוגבל ל-800 מספרים?

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

      אני משתמש בספרייה הנפלאה yemot-router2.
      אני מפעיל בקשת red ואני מכניס מאפיין digits_allowed שזה בעצם הערך העשירי בהקשה.
      בערך הזה יש לפעמים כאלפיים מספרים [זה הכנסת כרטיס הגרלה, ואני מכניס לו את כל טווח המספרים האפשריים לאותו כרטיס].
      בימים האחרונים הוא התחיל לקלוט רק את ה-800 המספרים הראשונים, כי על כל מספר מעבר לכך הוא משמיע את הודעה M1224 "בחירה לא חוקית".
      לדוגמא, נניח שהכנסתי לו מספרים מ-1000 עד 3000, אז נותן להקיש רק מספרים בין 1000 ל-1800

      אצלי לא השתנה משהו בקוד לאחרונה.
      האם זה קשור לתקלה שהייתה בימות בסוף שבוע שעבר?
      יש עוד מישהו שנתקל בזה?

      אשמח לכל עזרה


      הנה הקוד הרלוונטי:

      const digits_allowed = Array.from(
          { length: maxNumber - minNumber + 1 },
          (_, i) => i + minNumber
        );
      
      const number = await call.read(
          [{ type: "text", data: "נא הקש את מספר הכרטיס שברשותך" }],
          "tap",
          {
            allow_empty: true,
            empty_val: null,
            max_digits: maxNumber.toString().length,
            min_digits: minNumber.toString().length,
            typing_playback_mode: "Digits",
            digits_allowed,
          }
        );
      

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

        @בלויא
        קח את הקוד הזה, הוא יותר נורמלי מה שבטוח...

        let stop;
        while (!stop){
        const number = await call.read(
            [{ type: "text", data: "נא הקש את מספר הכרטיס שברשותך" }],
            "tap",
            {
              allow_empty: true,
              empty_val: null,
              max_digits: maxNumber.toString().length,
              min_digits: minNumber.toString().length,
              typing_playback_mode: "Digits",
            }
          );
            if (number > 1000 && number < 4000){
                stop = true;
            } else {
                call.id_list_message([{ type: "text", data: "מספר כרטיס לא תקין, אנא הקש מחדש" }], { prependToNextAction: true });
            }
        }
        

        הקוד הזה הוא בעצם לולאה שלא תיתן לו להמשיך עד שיקיש מספר נכון בין 1000 ל 4000
        זה מתאפשר מכיוון שבראוטר זה ערכים של val_1 ו val_2 ולא של שם המשתנה עצמו

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

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

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

            @בלויא
            קח את הקוד הזה, הוא יותר נורמלי מה שבטוח...

            let stop;
            while (!stop){
            const number = await call.read(
                [{ type: "text", data: "נא הקש את מספר הכרטיס שברשותך" }],
                "tap",
                {
                  allow_empty: true,
                  empty_val: null,
                  max_digits: maxNumber.toString().length,
                  min_digits: minNumber.toString().length,
                  typing_playback_mode: "Digits",
                }
              );
                if (number > 1000 && number < 4000){
                    stop = true;
                } else {
                    call.id_list_message([{ type: "text", data: "מספר כרטיס לא תקין, אנא הקש מחדש" }], { prependToNextAction: true });
                }
            }
            

            הקוד הזה הוא בעצם לולאה שלא תיתן לו להמשיך עד שיקיש מספר נכון בין 1000 ל 4000
            זה מתאפשר מכיוון שבראוטר זה ערכים של val_1 ו val_2 ולא של שם המשתנה עצמו

            תגובה 1 תגובה אחרונה תגובה ציטוט 1
            • הנושא סומן כנפתר  ב בלויא 
            • פוסט ראשון
              פוסט אחרון