Bunu birden fazla yol ile yapabiliriz, bilindiği gibi serviceslerde,
/chanserv info #kanal komutunu kullandığımızda, ChanServ bize
notice yoluyla bu kanal hakkında bilgi verir ve bunlardan bir tanesi de kanalın founderidir.. Biz bu aşamada
notice eventi ile istediğimiz bilgiyi çekebiliriz, ancak bu kanal sayısı arttığında meşakatli olacaktır. En mantıklısı bir yere founderleri kaydedip listelemek. Ben her iki yolu da paylaşıyorum..
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:input:*: {
if $regex($1,/^[!.]founder$/Si) {
if !$2 { echo -a Bir parametre girmedin. }
elseif $2 = ekle {
if !$3 { echo -a Bir nick girmedin. }
else { hadd founder $3 $4 | msg $chan $3 Nicki founder listesine eklendi. Kanal: $4 | hsave founder founder.s }
}
}
elseif $regex($1,/^[!.]founders$/Si) {
var %s $hfind(founder,*,0,w)
msg $chan Founderler listeleniyor.
while (%s) { msg $chan Nick: $hfind(founder,*,%s,w) Kanal: $hget(founder,$hfind(founder,*,%s,w)) | dec %s }
}
}
on *:start: { hmake founder | hload founder founder.s }
!founder ekle Nick Kanal
!founders
Sonuç:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
[00:05] <05SuLh> !founders
[00:05] <05SuLh> Nick: Kemal Kanal: #chat
[00:05] <05SuLh> Nick: Deniz Kanal: #radyo
[00:05] <05SuLh> Nick: SuLh Kanal: #sohbet
İkinci yolumuz, serviceslere sormak..
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:input:*: {
if $regex($1,/^[!.]founders$/Si) {
var %s $numtok($globalk,32) | set %yansit $chan
while (%s) { chanserv info $gettok($globalk,%s,32) | dec %s }
}
}
on $*:notice:/(Kanali Bilgisi|Kanal Sahibi)/Si:?: {
if $nick = ChanServ { msg %yansit $1- }
}
alias globalk { return #sohbet #radyo #chat }
Sonuç:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
[00:20] <05SuLh> !founders
[00:20] <05SuLh> #chat Kanali Bilgisi:
[00:20] <05SuLh> Kanal Sahibi: AngeL [OFFLINE] [28 gün,19 saat,37 dakika ve 57 saniye önce]
[00:20] <05SuLh> #radyo Kanali Bilgisi:
[00:20] <05SuLh> Kanal Sahibi: Mina [OFFLINE] [0 gün,0 saat,46 dakika ve 56 saniye önce]
[00:20] <05SuLh> #sohbet Kanali Bilgisi:
[00:20] <05SuLh> Kanal Sahibi: BLack [OFFLINE] [0 gün,0 saat,33 dakika ve 17 saniye önce]
Alternatif:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:input:*: { if $regex($1,/^[!.]founders$/Si) { tokenize 32 $globalk | chanserv info $* } }
on $*:notice:/(Kanali Bilgisi|Kanal Sahibi)/Si:?: { if $nick = ChanServ { msg %yansit $1- } }
alias globalk { return #sohbet #radyo #chat }
Ayrıca bu tip istekleri,
Addon ve parça kod isteklerine yazmanız daha uygun olacaktır..