IRC Scripting

Tutoriale si coduri sursa pentru mirc




* Pentru o mai buna experienta, va rugam sa va conectati de pe desktop

De retinut


*** toate informatiile de aici sunt prezentate pe scurt, urmand ca voi sa le puteti aprofunda ***

Evenimentele JOIN, PART, QUIT, CONNECT, DISCONNECT

JOIN - este evenimentul care ne afiseaza toti clientii care se conecteaza pe un canal IRC

In acest sens, putem avea:

  • toti ceilalti utilizatori
  • sau clientul nostru IRC

Exemple pentru JOIN

;; ne va afisa pe status ca un utilizator a intrat pe canal
on 1:JOIN:#: { echo # $nick a intrat pe canal. }

;; cand un utilizator intra pe canal o sa primeasca un mesaj de tip notice
on 1:JOIN:#: { notice $nick bine te-am gasit! }

;; cand un utilizator intra pe canal, iar numele nu este al nostru, va primi un mesaj
on 1:JOIN:#: { if ($nick != $me) { notice $nick bine te-am gasit! } }

;; daca userul sunt doar eu, atunci putem afisa informatii sau sa apelam functii
on me:*:join:#:{ echo -at *** Afiseaza un mesaj doar pentru mine }

;; cand un user intra cu un nume xxx o sa primeasca un mesaj pe privat ca sa-l schimbe
on 1:JOIN:#: { if (xxx iswm $nick) { msg $nick ai un nume indecent! } }

;; cand un user are ca nickname adresa web, atunci o sa primeasca si ban si kick pe nickname
on 1:JOIN:#: { if (www iswm $nick) { mode # +b $nick | kick # $nick Schimba numele } }

;; daca dorim sa apelam un sunet cand cineva intra pe canal
on me:*:join:#:{ splay join.wav }

PART - este evenimentul care indica faptul ca am plecat de pe un canal IRC si astfel putem avea doua evenimente de acest tip: a) atunci cand iesim noi de pe un canal si b) cand cineva iese de pe un canal. Pentru acest eveniment, putem aplica mai multe functii depinzand de ceea ce dorim sa vedem in script: sunete, mesaje, alerte, popupuri, samd.

Exemple pentru PART

;; daca un utilizator iese de pe canal si ramanem doar noi, se va da hop ptr a primi OP
on !*:part:#:{ if (($nick($chan,0) == 2) && ($me !isop $chan)) { hopping $chan } }

;; cand un utilizator iese de pe canal ne afiseaza un mesaj
on !*:part:#:{ echo -at $nick a iesit de pe $chan }

;; cand iesim de pe orice canal, putem seta un sunet
on !*:part:#:{ if ($nick == $me) { splay part.wav } }

;; daca dorim sa lasam un mesaj unui utilizator atunci cand iese de pe canal
on !*:part:#:{ if ($nick != $me) { msg $nick Te mai asteptam pe la noi! } }

;; functia de join/part/quit le putem inregistra si intr-un script de monitorizare
on !*:part:#:{ if ($nick != $me) { echo @Monitor *** [Part] $nick ( $+ $address($nick,2) $+ ) *** } }

QUIT - este evenimentul care indica faptul ca un utilizator sau chiar clientul nostru s-a deconectat de la serverul IRC. Deseori, acest eveniment il putem integra/afisa in scriptul de monitorizare pentru ca alt rol important nu prea are. Singura exceptie o facem atunci cand dupa ce dam quit dorim sa salvam in memoria hash/fisiere ini anumite date.

Exemple pentru QUIT

;; cand un utilizator se deconecteaza de pe chat
on *:quit:{ echo -t @Monitor $nick s-a deconectat de pe chat }

;; cand un utilizator iese de pe canal si vrem sa luam automat accesul de OP
on *:quit:{ var %c,%o = $comchan($nick,0) | while (%o) {
%c = $comchan($nick,%o)
if (($nick(%c,0) == 2) && ($me !isop %c)) { hopping %c }
dec %o
}
}

Pentru evenimentul QUIT putem adauga si unele functii mult mai avansate, insa asta o sa trebuiasca sa le invatati singuri acasa.

CONNECT - este unul dintre cele mai importante evenimente din mirc pentru ca prin intermediul acestuia putem porni si alte scripturi

Exemple pentru CONNECT

;; dupa ce ne-am conectat pe un server, arata pe status un mesaj
on *:connect:{ if ($server == irc.ircnode.net) { echo -st Te-ai conectat pe reteaua IRCNode.net! } }

;; intra pe un canal dupa ce ne-am conectat la serverul IRC
on *:connect:{ join #IRCNode.net }

;; dupa conectare la server, porneste un sunet wav
on *:connect:{ splay connect.wav }

;; daca avem un nickname setat implicit si nu dorim ca acesta sa se modifice
on *:connect:{ if ($nick != Admin) { echo -at Numele nu corespunde! Il voi schimba acum! | nick Admin } }

Exemple pot fi multe, ramane ca voi sa le aprofundati mai mult.

Tutoriale cu exemple de descarcat

Toate aceste exemple le puteti copia in Notepad++ folosind acest fisier: mSL scripting sintax pentru NPP. Ca sa puteti activa acest XML se va deschide NPP -> Language -> Define Language -> Import -> si se incarca fisierul XML.

Tutorial meniu operator
Tutorial sunete mirc
Tutorial protectii canal
Tutorial popups
Tutorial comenzi bot
Tutorial aliasuri
Tutorial fisiere ini