Cevap: TCL scripting öğrenmek istiyorum
Merhaba Ali,
Orneklerle gostereyim;
Bind olarak raw bind'ini kullanacagiz, sebep gelen oper noticeleri raw olarak algiliyor eggdrop.
Bota gelen raw noticeyi soyle farzedelim; [03:24] -NOTICE- *** akcvja (TRyiz@88.88.88.88) did a /whois on you.
ve buna soyle bir islem uygulatalim. Bot'a whois cekildiginde #Opers kanalinda bana ali, veli, deli nicki whois cekmistir desin. KOD; # Bind'imizi olusturalim bind raw * notice procismi # Simdi bind'imize gore bir proc kodlayacagiz. proc procismi {text} { # Bot'a gelen raw noticesini algilayip islem yaptirmamiz icin hangi mesajda islem yaptiracaksak o mesajda gecen kisa bir bolumunu if icine yazmamiz gerek.
# Dikkat etmeniz gereken bir yer daha var burda -nocase kullandim, bunun anlami buyuk kucuk harf farketmeksizin islem yapmasi icin. if {[string match -nocase "*did a /whois on you*" $text]} { # Simdi nick kismini alacagiz. Raw noticesinde nick 2'nci kelimedir yani ?
# Set olusturup bu setin adina nick verelim. O raw noticesinin icinde 2'nci kelimemiz artik $nick olarak islem yaptiracagiz demek oluyor. set nick [lindex $text 2] # Islem yaptirmamizin zamani geldi. :d putquick "PRIVMSG #Opers :$nick bana whois cekti." # Islemimizide yaptirdik simdi ise if'i kapatalim. } # If'imizi kapattik simdi ise proc'umuzu kapatalim. }
Evet islemimiz bitti cikan sonuc; bind raw * notice procismi
proc procismi {text} {
if {[string match -nocase "*did a /whois on you*" $text]} {
set nick [lindex $text 2]
putquick "PRIVMSG #Opers :$nick bana whois cekti."
}
} |