זהו מדריך על חלק מהאיבנטים שקיימים במירק.
* מה זה איבנט Event?
- בתרגום ישיר זה "אירוע". כל דבר שקורה במירק זה אירוע (כניסת משתמש לערוץ, כתיבת הודעה, קבלת באן, וכו'...), לכל אירוע יש פקודה מתאימה המגיבה לאותו אירוע ומאפשרת לנו לבצע פעולה כלשהי בהתאמה.
בואו נראה את המבנה הכללי (לא בכל המקרים זה ככה) של on event:
קוד: בחר הכל
on prefix:event:*:#/?/*:{ command }
מה זה אומר?
prefix - (תחילית) קובע את המצב שבו תתבצע התגובה לארוע (הסבר מפורט בדרך)
event - שם הארוע, כמו: join, text, ban, kick, action וכו'...
* - לא בכל האיבנטים יש וצריך את זה, אבל באלו שכן זה האזור שמשווה את הטקסט שכתוב בסקריפט לטקסט שנכתב במירק.
במידה ומשאירים *, הסקריפט יתבצע על כל טקסט
#/?/* - כאן אנחנו צריכים לבחור מתי הסקריפט צריך להגיב.
^ כאשר נבחר ב # - הסקריפט יגיב רק על מה שיקרה בערוץ.
אם נשאיר רק סולמית הסקריפט יגיב לכל הערוצים שבהן אנו נמצאים.
אם נרשום #channel הסקריפט יגיב רק בערוץ שנרשם. (שימו לב: ניתן לרשום כמה ערוצים עם פסיק בתור הפרדה:
קוד: בחר הכל
on *:join:#channel1,#channel2,....:{ }
^ כאשר נבחר ב ? - הסקריפט יתבצע רק על מה שיקרה בשיחה פרטית
^ כאשר נבחר ב * - הסקריפט יגיב בשני המקרים (כולל בתוכו את: # ו- ?)
command - הסקריפט שנכתוב לאירוע
נעבור על ה Prefix
אני אדבר פה קצת גם על רמות משתמשים (level) זהו נושא בפני עצמו, לכן מי שלא יודע אולי לא ממש יבין כמה דברים.
+ - נגיד שמנו רמה 10 למישהו
קוד: בחר הכל
10:Zen-!~kravetzro@Zen-.users.quakenet.org
ואנחנו נרשום את הסקריפט הבא:
קוד: בחר הכל
on +5:text::moo:#:{ msg # moo yourself }
הסקריפט אמור לראות כאשר מישהו כותב moo בערוץ, זה אמור להחזיר לו moo yourself
אבל זה לא יחזיר לו כי הרמה שנקבע למישהו היא 10 (לדוגמה) והסקריפט מגביל לרמה של 5.
* - כל אחד יכול להפעיל את האיבנט בלי קשר לרמה שלו.
! - הסקריפט יופעל על כל אחד אבל לא על עצמך.
@ - הסקריפט יופעל רק כאשר יש לי אופ בערוץ
& - ימנע מהסקריפט לעבוד אם הסקריפט הקודם השתמש בפקודה halt/ או haltdef/
$ - מתייחס לאזור ההשוואה (*), כאשר נכתוב את הסימן הזה ($) אזור ההשוואה יפעל כ regex.
= - במידה ונרשום אחרי הסקריפט הבא:
קוד: בחר הכל
on 2:text::moo:#:{ msg # moo yourself }
ואת זה:
קוד: בחר הכל
on 5:text::moo:#:=
אז הסקריפט השני ימנע מכל מי שהרמה שלו גבוה מ 5 להפעיל את הסקריפט הראשון (שאומר שכל מי שהרמה שלו 2 או יותר יפעיל אותו).
! - במידה ונרשום אחרי הסקריפט הבא:
קוד: בחר הכל
on 2:text::moo:#:{ msg # moo yourself }
ואת זה:
קוד: בחר הכל
on 5:text::moo:#:!
מה שיקרה זה שכל מי שהרמה שלו 2 או יותר יפעיל את הסקריפט חוץ ממי שהרמה שלו היא 5.
נעבור לאיבנטים עצמם
שימו לב שכל מה שהסברתי קודם מתייחס לכל האיבנטים, כלומר אני לא אכתוב כל אפשרות לכל איבנט, אלא אפשרות אחת אבל שתדעו שניתן לשנות לפי מה שהסברתי.
ה prefix יהיה 1 בכל האיבנטים מהסיבה שכל עוד לא שיניתם את הרמה של מישהו הברירת המחדל היא רמה 1.
on action
קוד: בחר הכל
on 1:ACTION:ok:#:/msg $chan $nick said ok on $chan
פעולה זאת תתבצע כאשר: מישהו יכתוב me ok/
nick$ - יחזיר את הכינוי של מי שכתב
chan$ או # את הערוץ
on ban/unban
קוד: בחר הכל
on 1:ban:#:/msg $chan $nick banned $bnick address: $banmask
פעולה זאת תתבצע כאשר: מישהו ייתן באן למישהו אחר
nick$ - מי שנתן את הבאן
bnick$ - מקבל הבאן
banmask$ - הכתובת (שקיבלה באן) של אותו אחד שקיבל את הבאן
ניתן ב perfix להשוות רמות, כלומר:
קוד: בחר הכל
on >=2:BAN...
ניתן להשתמש באלו: <,>,<=,=>,<>,=
on connect/disconnect
קוד: בחר הכל
on 1:connect:/echo -a connected to $server
פעולה זאת תתבצע כאשר: נתחבר לשרת (או נתנתק)
server$ - השרת אליו התחברנו
on CONNECTFAIL
קוד: בחר הכל
on 1:CONNECTFAIL:/echo -a faild to connect $server $1-
פעולה זאת תתבצע כאשר: לא נצליח להתחבר לשרת
-$1 - ייתן לנו את הסיבה
on op/deop
קוד: בחר הכל
on 1:op:#:/msg # $nick gave $opnick op
פעולה זאת תתבצע כאשר: מישהו יתן אופ לאחר
nick$ - מי שנתן אופ (או הוריד)
opnick$ - מי שקיבל אופ (או הורידו לו)
on voice/devoice
קוד: בחר הכל
on 1:op:#:/msg # $nick gave $vnick voice
פעולה זאת תתבצע כאשר: מישהו יתן וייס לאחר
nick$ - מי שנתן וייס
vnick$ - מי שקיבל וייס
on exit
קוד: בחר הכל
on 1:exit:/echo exiting mirc
פעולה זאת תתבצע כאשר: תסגרו את המירק
on input
קוד: בחר הכל
on 1:input:*:{ msg $active $chr(3) $+ 12 $1- | halt }
פעולה זאת תתבצע כאשר: תכתבו טקסט בערוץ או בפרטי
active$ - החלון שאתם עומדים עליו, יכול להיות ערוץ או חלון שיחה פרטית.
chr(3) $+ 12 - זה בעצם צובע את הטקסט בכחול
-$1 - הטקסט שכתבת
halt - עוצר, מונע מהמירק לשלוח את מה ששלחתם. כאשר אתם משתמשים ב on input הסקריפט הזה יבצע את מה שאתם רוצים, במקרה הזה ישלח לערוץ את מה שכתבתם בצבע כחול, ואחרי זה המירק חוזר לעבודתו וישלח את מה ששלחת רגיל כמו שהוא היה אמור לעשות. הפקודה הזאת בעצם מונעת מהמירק להמשיך לטפל בטקסט ששלחתם, ומה שיתבצע זה רק הטקסט בכחול.
| - הקו מפריד בין פקודות שונות באותה שורה, על אותו משקל היה אפשר לרדת שורה ולא להשתמש בקו.
on invite
קוד: בחר הכל
on 1:invite:#:/join $chan
פעולה זאת תתבצע כאשר: יעשו לכם invite לכל ערוץ
כאשר תקבלו invite תכנסו לערוץ שהוזמנתם אוטומטית
on join/part
קוד: בחר הכל
on 1:join:#:/msg $chan welcome $nick
פעולה זאת תתבצע כאשר: יכנסו לערוץ או יצאו (פועל גם עליכם)
כאשר מישהו יכנס לערוץ תשלחו הודעה בערוץ welcome $nick
on kick
קוד: בחר הכל
on 1:kick:#:/msg $chan $nick just kicked $knick
פעולה זאת תתבצע כאשר: מישהו יקבל קיק (פועל גם עליכם)
knick$ - הכינוי שקיבל kick
on load/unload/start
קוד: בחר הכל
on 1:load:/echo -a script loaded
פעולה זאת תתבצע כאשר: תטענו קובץ מסויים
כאשר תטענו קובץ מסויים למירק ייכתב script loaded
start - אותו דבר רק עומת ה load שהוא חד פעמי, ה start יפעל כל פעם בהפעלת המירק.
on mode
קוד: בחר הכל
on 1:mode:#:/msg # $nick changed $chan mode to $1-
פעולה זאת תתבצע כאשר: מישהו ישנה איזשהו מוד בערוץ
-$1 - המוד ששונה
on nick
קוד: בחר הכל
on 1:nick:/msg # $nick changed his nick to $newnick
פעולה זאת תתבצע כאשר: מישהו ישנה את הכינוי שלו בערוץ
nick$ - כינוי הישן
newnick$ - כינוי חדש
on notice
קוד: בחר הכל
on 1:notice:*:?:/echo -a $nick sent me a notice: $1-
פעולה זאת תתבצע כאשר: מישהו ישלח notice לכם אישית (ניתן לשנות את זה, לערוץ או גם וגם)
on open/close
קוד: בחר הכל
on 1:open:*:?:/msg $nick i will be with you in a moment
פעולה זאת תתבצע כאשר: יפתח חלון חדש, לדוגמה אם מישהו ישלח לכם הודעה פרטית
לדוגמה כאשר מישהו ישלח לכם הודעה פרטית זה ישלח לך הודעה
close - כאשר החלון ייסגר
on ping/pong
קוד: בחר הכל
on 1:ping:/echo -a $nick just pinged me
פעולה זאת תתבצע כאשר: מישהו יעשה עליכם PING, כלומר ירצה לדעת את הפינג שלכם
pong - כאשר אתם תעשו פינג על מישהו ותקבלו תשובה (-$1)
on quit
קוד: בחר הכל
on 1:quit:/echo -a $nick left irc: $1-
פעולה זאת תתבצע כאשר: מישהו יצא מהמירק (מישהו שנמצא באותו ערוץ כמוכם)
-$1 - יחזיר את הודעת היציאה שלו.
on text
קוד: בחר הכל
on 1:text:hello*:#:/msg # hello $nick
פעולה זאת תתבצע כאשר: מישהו יכתוב משהו בערוץ (# - ניתן לשינוי)
כאשר מישהו יכתוב בערוץ הודעה שתתחיל ב hello אתם תשלחו הודעה לערוץ hello $nick.
שימו לב: במקום *hello ניתן לרשום :
קוד: בחר הכל
* - כל טקסט שיכתבו
& - כל מילה שתכתב (מילה בודדה)
hello - hello רק אם נכתב בערוץ
hello* - הטקסט חייבת להתחיל מהמילה וההמשך לא חשוב
*hello - ההתחלה לא חשובה, אך הסוף חייב להסתיים במילה
*hello* - מספיק שיש את המילה בשורה שנכתבה ללא קשר למיקום
on topic
קוד: בחר הכל
on 1:topic:#:/msg # $nick change the topic to: $1-
פעולה זאת תתבצע כאשר: מישהו ישנה את הטופיק
-$1 - הטופיק החדש
זהו, עד לכאן המדריך !!! מקווה שהמדריך יעזור לחדשים שבינינו.
במידה ויש שגיאות נא לדווח, ואני אתקן !!