EPIC4 Manual


send_to_server

Uaktywnia się gdy cilient wysyła jakiekolwiek dane do IRC servera. Przydaje się do kontrolowania jakie polecenia i ile client wysyła, aby lepiej obliczać tzw penalty points, czyli obciążenie naszej sesji IRCa lagiem (o ile oczywiście ktoś wie jak to liczyć).

$0refnum IRC servera, do którego coś wysyłamy
$1numer file descriptora, za pomocą którego jesteśmy połączeni IRC serverem
$2-text wysyłany do IRC servera

Z ON raw_irc należy bardzo uważać, gdyż niezwykle łatwo zapętlić clienta. Na przykład tak:


on -send_to_server "% % % PRIVMSG *" quote PRIVMSG $4 :To jest MSG.

Client wysyłając jakiś 'PRIVMSG' wyśle przy okazji jeszcze MSG 'To jest MSG.', co z kolei znów uaktywni ON send_to_server i tak w kółko.


A jakiś konretniejszy przykład wykorzystania ON send_to_server, to np. mechanizm zliczający ilość wykonanych przez nas KICKów.


on -send_to_server "% % KICK *" {
   @ kicks += numwords($split(, $4))
}

Powyższy ON doda do zmiennej $kicks ilość słów (czyli liczbę wywalonych nicków) zliczoną za pomocą funkcji $numwords(). Jak wiadomo, można na IRCNecie wywalać po 4xKICK, zatem poszczegółne nicki są od siebie oddzielone ',' (przecinkiem) a rozdzielenie tej konstrukcji 'nick1,nick2,nick3,nick4' na poszczególne słowa zapewnia funkcja $split(). Zobacz jeszcze Zasady Składni.

Zobacz także: ON raw_irc, quote



Lista Named ONs Home Następny Paragraf