Activities - dvirby20/BotIt GitHub Wiki

מה זה Activity?

בניגוד ל-View, כלים תחת המחלקה Activity נועדו לטפל בפליטה וקליטה של מידע בצורות מורכבות.

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

NamesChooseActivity

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

NamesChooseActivity(self, ui, session: Session,
                 submit_callback: Callable[[Session, list], None],
                 from_names: [str] = [],
                 max_buttons: int = 8)

submit_callback - הפונקציה שתיקרא לאחר שהמשתמש סיים לבחור את השמות, וצריכה לקבל רשימה של מחזורות.

from_names - רשימת השמות מתוכם הפעולה תיתן למשתמש לבחור. אם נשאר ריק, הפעולה תיתן למשתמש לבחור מבין כל השמות במאגר.

max_buttons - מקסימום כפתורים שהפעולה תציג למשתמש בעת בחירת שמות. אם יוגדר למספר גבוה מידי, הפעולה עלולה להפציץ את המסך של המשתמש.

LibraryActivity

פעולה שמטרתה הצגת מידה מרובה למשתמש. המידע מחולק לקטגוריות ולשאלות, ויכול להיות כל מידע שניתן להציג בבוט - טקסט, תמונות, מיקומים ועוד. הפעולה מקבלת מילון, בו כל key יהיה שם של קטגוריה או שאלה - הטקסט שיופיע על הכפתור. ה-value במילון יכול להיות מכמה סוגים:

  • dict - מילון נוסף, כלומר מדובר בקטגוריה.
  • str - מחרוזת, אותה יש להציג כטקסט תשובה לשאלה.
  • View - כל סוג של תצוגה שניתן להציג למשתמש - מיקום, תמונה וגם טקסט - במקרה של טקסט, עדיף להעביר פשוט מחרוזת.
  • list - רשימה שהאיברים בה הם מחרוזות או תצוגות כרשום לעיל, כך שיש להציג אותם אחד אחרי השני באת לחיצה על הכפתור.
LibraryActivity(self, ui, session: Session,
                 data_dict: dict, title: str = "בחר שאלה או קטגוריה:",
                 max_buttons=8)

data_dict - מילון המכיל את כל המידע שהפעולה תציג למשתמש, כמפורט לעיל.

title - הטקסט שיוצג לפני כפתורי הבחירה בכל שלב.

max_buttons - מקסימום כפתורים שהפעולה תציג למשתמש בעת בחירת שמות. אם יוגדר למספר גבוה מידי, הפעולה עלולה להפציץ את המסך של המשתמש.