Aslında burada mantık hatası yapıyorsun. Farkındaysan bunu while döngüsü içerisinde almaya çalışıyorsun. Farklı satırlar olduğu için her defasında farklı bir satırı görecektir döngü. O yüzden aynı mesaj içerisinde her ikisini birden veremiyor. Burada yapabileceğin farklı yöntemler var. Mesela kanal mesajını döngü dışına çıkarmak bir çözümdür. ve ya döngü içerisinde iki mesaj verdirebilirsin v.s. v.s.
|
akkaya Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. |
Kod: Kodu kopyalamak için üzerine çift tıklayın! set oku "dosya.txt"
set kanal "#bilgi"
bind pub - !kural pub:kuralmsg
proc pub:kuralmsg { nick host hand chan text} {
global oku kanal
if {[file exists $oku]} {
set kuralfile [open $oku r]
while {![eof $kuralfile]} {
catch {set kuraltext [gets $kuralfile]}
regexp -- {<tdalign=\"center\".height=\"(.*?)\".colspan=\"2 \ ">} $kuraltext - deger
regexp -- {+.colspan=\"(.*?)\".class=\"thd\">} $kuraltext - dgr2
if {[info exists deger] && [info exists dgr2]} {
putserv "PRIVMSG $kanal 1.ölçü:$deger 2.ölçü:$dgr2"
}
}
catch {close $kuralfile}
}
} Kod: Kodu kopyalamak için üzerine çift tıklayın! set oku "dosya.txt"
set kanal "#bilgi"
bind pub - !kural pub:kuralmsg
proc pub:kuralmsg { nick host hand chan text} {
global oku kanal
if {[file exists $oku]} {
set kuralfile [open $oku r]
while {![eof $kuralfile]} {
catch {set kuraltext [gets $kuralfile]}
regexp -- {<tdalign=\"center\".height=\"(.*?)\".colspan=\"2 \ ">} $kuraltext - deger
regexp -- {+.colspan=\"(.*?)\".class=\"thd\">} $kuraltext - dgr2
}
putserv "PRIVMSG $kanal 1.ölçü:$deger 2.ölçü:$dgr2"
}
catch {close $kuralfile}
}
} |
örnekler çoğaltılabilir. işine geleni kullanırsın.