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

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

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

      אני משתמש בספרייה הנפלאה 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 תגובה אחרונה תגובה ציטוט 3
        • ח מנותק
          חוקר @בלויא
          נערך לאחרונה על ידי

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

          תגובה 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 תגובה אחרונה תגובה ציטוט 3
            • ב בלויא סימן נושא זה כנפתר

            שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

            נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

            בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

            הרשמה התחברות
            • פוסט ראשון
              פוסט אחרון