Chatd on chatti serveri joka pyörii portissa 8888 eli se aukaisee portin 8888 ja siihen voi ottaa yhteyttä telnetin raw modella ja erillaisilla clienteillä joita voi tulla kysymään #tuobbi-89 @ ircnet kannulta...
chatd_server.mrc
; ; CHATD SERVER 1.0 ; By: Oippa ; ; chatd serveri pyörii porttissa 8888 ; Virallinen chatd serveri pyörii osoitteessa: vintti.net:8888 (ei 24h) ; menu * { .CHATD ..Käynnistä:/chatd } alias chatd { socklisten chatd 8888 } ; Funkkarit ; alias syota { sockwrite -nt $1- } alias erota { return $gettok($3,$2,$asc($1)) } on *:SOCKLISTEN:chatd:{ set %rand $rand(1,10000) sockaccept yhdistÿ $+ %rand $syota(yhdistÿ $+ %rand Syötä nimimerkki komennolla /nick <nimimerkki>: ) } on *:SOCKREAD:yhdist*:{ sockread %yhdistys_data tokenize 32 %yhdistys_data if (($left($1,1) == /)) { if (($upper($1) == /NICK)) { if (($left($2,1) == @)) { sockclose $sockname } else { sockrename $sockname kayttajaÿ $+ $2 $syota(kayttaja* $time *** $erota(ÿ,2,$sockname) liittyi chattiin! ) $syota($sockname ################### ) $syota($sockname - Päivän viesti, $ip - ) $syota($sockname - Tervetuloa chatd serverille! ) $syota($sockname - ) $syota($sockname - MOTD loppuu. ) $syota($sockname ################### ) } } else { sockclose $sockname } } else { sockclose $sockname } } on *:SOCKREAD:kayttaja*:{ sockread %kayttaja_data tokenize 32 %kayttaja_data if (($left($1,1) == /)) { if (($upper($1) == /OPER) && ($2 == %admin_pass)) { $syota(kayttaja* *** $erota(ÿ,2,$sockname) on nyt OP ) | sockrename $sockname kayttajaÿ@ $+ $erota(ÿ,2,$sockname) } if (($upper($1) == /DEOP) && ($left($erota(ÿ,2,$sockname),1) == @)) { $syota(kayttaja* *** $erota(ÿ,2,$sockname) ottaa moden OP pois $2 $+ :lta ) | sockrename kayttajaÿ@ $+ $2 kayttajaÿ $+ $2 } if (($upper($1) == /OP) && ($left($erota(ÿ,2,$sockname),1) == @)) { $syota(kayttaja* *** $erota(ÿ,2,$sockname) laittaa moden OP $2 $+ :lle ) | sockrename kayttajaÿ $+ $2 kayttajaÿ@ $+ $2 } if (($upper($1) == /ME)) { $syota(kayttaja* $time * $erota(ÿ,2,$sockname) $2- ) } if (($upper($1) == /SAY) && ($left($erota(ÿ,2,$sockname),1) == @)) { $syota(kayttaja* $time $2-) } if (($upper($1) == /MSG)) { $syota(kayttajaÿ $+ $2 $time MSG $erota(ÿ,2,$sockname) $+ : $3- ) | $syota($sockname $time MSG $erota(ÿ,2,$sockname) $+ : $3- ) } if (($upper($1) == /QUIT)) { if (($len($2) <= 20)) { $syota(kayttajaÿ* $time *** $erota(ÿ,2,$sockname) quittasi ( $+ $2- $+ ) ) | sockclose $sockname } else { $syota($sockname ERROR! (Quit messu on yli 20 sallitun merkkin!) ) } } if (($upper($1) == /NICK) && ($left($2,1) != @)) { if (($len($2) <= 15)) { if (($left($erota(ÿ,2,$sockname),1) == @)) { $syota(kayttaja* $time *** $erota(ÿ,2,$sockname) on nyt @ $+ $2) | sockrename $sockname kayttajaÿ@ $+ $2 } else { $syota(kayttaja* $time *** $erota(ÿ,2,$sockname) on nyt $2) | sockrename $sockname kayttajaÿ $+ $2 } } else { $syota($sockname ERROR! (Nick on yli 15 sallitun merkkin!) ) } } if (($upper($1) == /KICK) && ($left($erota(ÿ,2,$sockname),1) == @)) { $syota(kayttaja* $time *** $erota(ÿ,2,$sockname) potki $2 $+ :n chatistä syy( $+ $3- $+ )) | sockclose kayttajaÿ $+ $2 } if (($upper($1) == /NIKIT)) { var %rivit 1 while (%rivit <= $sock(kayttajaÿ*,0)) { $syota($sockname %rivit $+ . $+ $erota(ÿ,2,$sock(kayttajaÿ*,%rivit))) inc %rivit } } } else { if ((%kayttaja_data != $null)) { $syota(kayttaja* $time < $+ $erota(ÿ,2,$sockname) $+ > %kayttaja_data ) } } } on *:SOCKCLOSE:kayttajaÿ*:{ $syota(kayttajaÿ* $time *** $erota(ÿ,2,$sockname) quittasi! ) }
Aihe on jo aika vanha, joten et voi enää vastata siihen.