מודול API - הערך העשירי (הקשה) - מוגבל ל-800 מספרים?
-
אני משתמש בספרייה הנפלאה 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, } ); -
@בלויא
קח את הקוד הזה, הוא יותר נורמלי מה שבטוח...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 ולא של שם המשתנה עצמו -
@בלויא
אני במקרה כזה לא מגביל כלום בימות המשיח אלא עושה בדיקה בצד השרת ובמידת הצורך מחזיר אותה לשלוחה או להקשה חוזרת עם הודעה שמספר הכרטיס לא נכון -
@בלויא
קח את הקוד הזה, הוא יותר נורמלי מה שבטוח...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 ולא של שם המשתנה עצמו -
ב בלויא סימן נושא זה כנפתר
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות