לכל שרת IRC (כמו הקווקנט לדוגמה) יש הודעות קבועות שאתם הוא שולח למשתמשים , לכל הודעה כזו יש מספר שמאפיין אותה . דוגמה להודעות הכאילו אין שורות ה whois של משתמש . כל שורה , כמו למשל הערוצים שהניק נימצא בהם , היא הודעה ויש לה מספר מאוד ספציפי .
raw הוא אייבנט שרץ כאשר השרת שלוח לנו המשתמשים הודעה מהסוג הזה.
קוד: בחר הכל
raw <numeric>:<matchtext>:<commands>
numeric - מקביל לתנאי:
קוד: בחר הכל
if (<numeric> == $numeric)
matchtext - טקסט , אפשר להשתמש בסימנים שמורים כמו * (wildcard)
כלומר מקביל לתנאי:
קוד: בחר הכל
if (<matchtext> iswm $1-)
commands - פקודות
numeric
כדי לימצוא את המיספר הזה נישתמש בקוד הבא:
קוד: בחר הכל
raw *:*:echo -s $numeric = $1-
לאחר שהקוד נימצא ברימוט נבקש מהשרת לשלוח לנו הודעה מסויימת , במדריך זה אני אשתמש בפקודה whois.
אם ניכתוב whois Q זה יחזיר לנו את השורות הבאות:
קוד: בחר הכל
312 = Vendetta Q *.quakenet.org QuakeNet IRC Server
313 = Vendetta Q is an IRC Operator
330 = Vendetta Q Q is authed as
318 = Vendetta Q End of /WHOIS list.
יש עד דרך והיא בעזרת debug , על ידי השימוש בפקודה
קוד: בחר הכל
/debug @window
הפקודה תפתח חלון בשם window ששם יוצגו כל הודעות ה-RAW שהסרבר שלוח לכם.
במידה ובחרתם להשתמש בקוד שכתבתי למעלה ולא בדיבאג אז אינה הסבר מה הוא עושה.
בכל פעם שהאיינבנט Raw ירוץ כלומר כל פעם שהשרת ישלח לכם הודעה הקוד יציג בעזרת הפקודה echo בחולון הסטטוס שלכם את המספר של ההודעה (numeric) את התוו 61 הלו הוא "שווה" (=) ולאחר מיכן את הודעה שהשרת שלח לכם.
מה אפשר לעשות אם זה?
בקוד הכי פשוט זה מציאת המישתמש Q של כל משתמש גם הוא לא תחת המוד x
קוד: בחר הכל
menu * {
Qcc:qcc $1-
}
alias Qcc {
set %rewqcc $1
.whois $1-
}
raw 330:*:{
if (%rewqcc == $2) { echo -a $+($chr(2),$iif($3 != $null,$3,Null),$chr(2)) | unset %rewqcc }
}
שימוש:
קליק ימיני על הניק ואז qcc
קרדית על המדריך לי :] vendetta