אז מה זה טיימר ?
- קוצב זמן.
עיתוי השימוש ?
- דחיית פעולה כלשהי לעתיד, פעולה שחוזרת על עצמה אוטומטית במרווח של זמן מסויים. בגדול- השהייה של פעולות.
אופן השימוש ?
- כותבים בפקודת הטיימר פעולה מסויימת שאנו רוצים, ומגדירים מתי היא תעשה, וכמה פעמים היא תחזור על עצמה ובאיזה מרווחים של זמן.
אחרי שחפרתי קצת, ניגש לתאכלס.
אופן הכתיבה
קוד: בחר הכל
/timer[N/name] [-cdeomhipr] [time] <repetitions> <interval> <command>
קודם כל דגש קטן: כל מה שמופיע בסוגריים מרובעים לא חייב להופיע, כל מה שמופיע בסוגריים משולשים חייב להופיע.
נפרק את השורה הזאת לחלקים, וסביר כל חלק מהו
[N/name] - שם של הטיימר. השם יכול להיות מספר כלשהו (N) או שם כלשהו (name)
[time] - פשוט נרשום את השעה שנרצה שהפקודה תתבצע. למשל אם רוצים שהיא תתבצע בשעה 12 ורבע נרשום: 12:15.
<repetitions> - חזרות. כמה פעמים תתבצע הפקודה. אם לדגומה נרשום 2, הפקודה תתבצע פעמיים. אם נרשום 0, הוא תתבצע אין סוף פעמים.
<interval> - מרווח זמן בין כל ביצוע פקודה. אם נגיד נרשום 3, ובחזרות 2 אז: הפקודה תתבצע פעמיים במרווח זמן של 3 שניות בין פקודה לפקודה. אם נרשום 0 הפעולה תתבצע מידית בלי השהייה.
<command> - הפקודה שתתבצע
[cdeomhipr-] - נעבור על כל switch ונסביר מה תפקידו.
o- ; ישנם שני סוגי טיימרים: offline/online. כאשר לא מחוברים לשרת ומפעילים טיימר הוא יהיה טיימר אופליין, כאשר מחוברים לשרת ומפעילים טיימר הוא יהיה טיימר אונליין. במידה ויש לנו טיימר אונליין ואנחנו מתנתקים מהשרת הוא יכבה אוטומטית.
כאשר מוסיפים o- גם אם אנחנו מחוברים לשרת הטיימר שיופעל יהיה טיימר אופליין, משמע גם אם נתנתק מהשרת הוא ימשיך לפעול.
c- ; במידה והפעלנו טיימר ואנו רוצים לעדכן אותו, נגיד לשנות את מרווח הזמן, אז נפעיל מחדש את הטיימר עם c-, זה יגרום לטיימר להתעדכן.
m/-h- ; במידה ומציינים אחד מהם, המרווח זמן ייחשב בתור מילישניות. נגיד ונרשום 500 זה יהיה בעצם חצי שניה (ממליץ להשתמש ב m ולא ב h, כי ה h משתמשים במשאבי המערכת בצורה כבדה כדי לתת דיוק גבוה מאד בתזמון).
d- ; הטיימר עם הסוויצ' הזה ושאר הטיימרים העוקבים עם הסוויצ' הזה יופעלו באותו סדר.
e- ; כשכותבים את הסוויצ' הזה, זה מבצע את הפקודה הקשורה עם השם של הטיימר.
pr- ; במידה ורוצים לעשות pause לטיימר נרשום את הסוויצ'ים האלו, וכשנרצה להפעיל מאותו מקום שהפסקנו נרשום עוד פעם אותם.
i- ; כשנציין את הסוויצ' הזה, במידה ונחבר לשרת נוסף באותו מירק ונסגור את הקודם, הטיימר ומשיך לעבוד על השרת החדש.
עוד כמה דברים שיש לציין:
ltimer$ - יחזיר את השם של הטיימר האחרון שהופעל.
ctimer$ - יחזיר את שם הטיימר שהפעיל את הסקריפט
לסגור טיימר:
קוד: בחר הכל
/timer[name] off
במידה ויש כמה טיימרים עם שמות שמתחילית אותו דבר (ab) ונרצה לסגור את כולם במכה נרשום:
קוד: בחר הכל
/timerab? off
לראות את כל הטיימרים המופעלים:
קוד: בחר הכל
/timer
המזהה (timer(N/name$
כשנרצה לדעת את מספר ה id של טיימר שמופעל נרשום:
קוד: בחר הכל
//echo -a $timer(name)
name - השם של הטיימר, שהוא יכול להיות גם מספר.
נעבור על ה properties
יחזיר את מספר סה"כ הטיימרים שמופעלים:
קוד: בחר הכל
$timer(0)
יחזיר את מספר ה ID של הטיימר שמופיע ראשון ברשימה:
קוד: בחר הכל
$timer(1)
יחזיר את הפקודה של הטיימר הראשון ברשימה:
קוד: בחר הכל
$timer(1).com
יחזיר אם הטיימר הוא מסוג אופליין או אונליין:
קוד: בחר הכל
$timer(1).type
יחזיר את מספר השניות שנותרו עד שהטיימר יופעל:
קוד: בחר הכל
$timer(1).secs
יחזיר true$ אם הטיימר הוא טיימר מולטימדיה:
קוד: בחר הכל
$timer(1).mmt
יחזיר true$ אם בהפעלת הטיימר צויין הסוויצ' i-:
קוד: בחר הכל
$timer(1).anysc
יחזיר את מספר החזרות של הטיימר:
קוד: בחר הכל
$timer(1).reps
יחזיר את מרווח הזמן של הטיימר בין כל הפעלה:
קוד: בחר הכל
$timer(1).delay
יחזיר את הטיימר ב pause או לא:
קוד: בחר הכל
$timer(1).pause
יחזיר את ה ID של החלון ממנו הופעל הטיימר:
קוד: בחר הכל
$timer(1).wid
יחזיר את ה ID של השרת ממנו הופעל הטיימר:
קוד: בחר הכל
$timer(1).cid
יחזיר את מספר החלון ממנו הופעל הטיימר:
קוד: בחר הכל
$timer(1).hwnd
דוגמאות
טיימר שיכתוב 3 פעמים את הכינוי שלנו כל 5 שניות:
קוד: בחר הכל
/timer 3 5 echo -a $me
טיימר בשם ok שירשום בערוץ הודעה כאשר השעה תהיה 12:00
קוד: בחר הכל
/timerok 12:00 1 1 msg #channel it is now 12:00
במידה ונרצה לשלוח לערוץ מסויים 3 הודעות עם רווח של שניה בין כל הודעה:
קוד: בחר הכל
/timer 1 1 msg #channel this is the first line
/timer 1 2 msg #channel this is the second line
/timer 1 3 msg #channel this is the third line
עד כאן המדריך.
אם יש לכם הערות/הארות נא להגיד.