IRCForumu.Net - Türkiye'nin IRC ve mIRC Kullanıcılarının Buluştuğu Forum muhabbet


ircforumu sekershell
bizimkiler sosyalchat


Like Tree1Beğeni(ler)
  • 1 Post By immortaL
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 04 Haziran 2016, 15:34   #1
Çevrimdışı
Gelme, burası çok derin.

immortaL - ait Kullanıcı Resmi (Avatar)
İsteğe göre yazılan kodlar


Reklam

Sesli harfleri "*" karakteri olarak gösterme.
Kullanım: Reklam.txt içerisindeki kelimeler üzerinde işlev yapar.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on @*:text:*:#:{ var %s = 1,%ss = $lines(reklam.txt) while %s <= %ss { if $+(*,$read(reklam.txt,%s),*) iswm $1- { var %o = $remove($v1,*),%p = $regsub(%o,/(a|e|i|u|ü|o|ö|[A-Z])/gi,$chr(42)\1,%o) ban -k # $nick 2 Yasaklı kelime kullandınız: %o } inc %s } }

İkinci kullanım:

Örneğin; //echo -: $ok(Nasılsınız?) yaptığında; N*s*ls*n*z? olarak dönecektir.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias ok { var %1 = $1- var %2 = $regsub(%1,/(a|e|i|u|ü|o|ö|ı)/gi,$chr(42)\1,%1) return %1 }



Bu kod özele yazan nick kayıtlı değilse ve kufur.txt dosyasından herhangi bir kelimeyi kullandıysa, tüm kanallardan banlamak için kullanılır.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:?: { inc -e $+(%,t,$nick) if $($+(%,t,$nick),2) == 1 { .enable #u .who $nick } else { var %1 = 1,%2 = $lines(kufur.txt) while %1 <= %2 { if $+(*,$read(kufur.txt,%1),*) iswm $1- && $hmatch(nick,$nick) { var %p = $nick } inc %1 } var %s = 1,%ss = $comchan($me,0) while %s <= %ss { if $nick ison $comchan($me,%s) { ban -ku900 $comchan($me,%s) %p 2 BAN SEBEBİ. } inc %s } } } #u off raw *:*: { if $numeric == 352 { if r !isincs $7 { haltdef hadd -m nick $6 1 } } if $numeric == 315 { haltdef .disable #u } } #u end




Kanal menüsünü sağ tıklayarak temizle.txt içerisindeki dosyayı kanala yansıtma.
Not: Kanal temizlemek için kullanılır.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
menu channel { Temizle:temizle # } alias temizle { var %u = 1,%s = $lines(temizle.txt) while %u <= %s { msg $1 $read(temizle.txt,%u) inc %u } }


Belirtilen kanala giren kullanıcıları, belirlenen kanallara random sajoin-lemek.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on !*:join:#belirtilen-kanal:{ var %q = #kanal1 #kanal2 #kanal3 #kanal4 #kanal5,%t = $calc($numtok(%q,32)+1) inc -e %r $iif(%r != %t,sajoin $nick $gettok(%q,%r,32),unset %r) }




i) Kufur.txt dosyası üzerinde kanal yazılan text-lere işlem yapmak.
ii) Dosyaya kelime eklemek.
iii) Dosyadan kelime silmek.
iiii) Dosyadaki kelimeleri listemek vs.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
;/kekle kelime alias kekle { if $1 { if $read(kufur.txt,w,$1) { echo -at $1 kelimesi zaten listede. return } else { write kufur.txt $1 echo -at $1 kelimesi listeye eklendi. } } } ;/ksil kelime alias ksil { if $1 { if !$read(kufur.txt,w,$1) { echo -st $1 kelimesi listede yok. return } else { write $+(-dl,$readn) kufur.txt echo -st $1 kelimesi kufur listesinden silindi. } } } ;/klist alias klist { var %s = 1,%ss = $lines(kufur.txt) while %s <= %ss { echo -a Kelime: $read(kufur.txt,%s) inc %s } } ;Esas kod on @*:text:*:#:{ var %s = 1,%ss = $lines(kufur.txt) while %s <= %ss { if $+(*,$read(kufur.txt,%s),*) iswm $1- { ban -k # $nick 2 küfür yasak vs. } inc %s } }



Belirtilen kanalda kendi yazdığınız !sebeb [ip] kelimesi ilen belirtilen ip-i gzline/gline vb. listesinde arayıp, banlanma sebebini size/kanala yansıtacak kod.
Kullanım: !sebeb [ip-adresi]



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:input:#belirtilen-kanal:{ if $1 == !sebeb && $2 { .enable #x set %ip $2 stats g } } #x off raw *:*:{ if $numeric = 223 { haltdef var %& = $remove($3,@,*) if %ip == %& { hadd -m g $replace($7-,$chr(32),$chr(61)) } } if $numeric = 219 { haltdef if !$hget(g) { msg #belirtilen-kanal %ip ip'i bulunamadı. return } else { msg #belirtilen-kanal %ip ip'inin atılma sebebi; $replace($hget(g,1).item,$chr(61),$chr(32)) hfree g disable #x } } } #x end



MsnSONG.dll kullanarak sunucudaki kullanıcı sayısını /map komutu ile msn-ye yansıtmak.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias msnsong { var %dll MsnSong.dll .comreg %dll .comopen msn Msn.Write var %i $com(msn,WriteToMsn,1,bstr,$1-,bstr,$null,bstr,$null) .comreg -u %dll .comclose msn } raw 6:*:msnsong $2 user sayısı: $3


Kanal text gönderirken text içerisinde kanalda bulunan bir nick varsa o nick bold/kalın olarak belirleme.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:input:*: { if $left($1,1) != / { var %q 1 while (%q <= $numtok($1-,32)) { if ($gettok($1-,%q,32) ison $active) { say $replace($1-,$v1,$+($chr(2),$v1,$chr(2))) break } inc %q } haltdef } }




Özelinizdeki (/query) nickin clone-si hakkında bilgi veren kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:active:?: { if $ial($address($active,2),0) >= 2 { inc -e $+(%,p,$active) if $($+(%,p,$active),2) == 1 { var %1 1,%2 while %1 <= $ial($address($active,2),0) { %2 = $addtok(%2,$gettok($ial($address($active,2),%1),1, 33 ),32) inc %1 } echo $active %2 nickleri aynı hosta sahipler. } } }




Kanala giren guest takılı kullanıcılara işlev(uyarı, 2. uyarı ve ban) yapmak için hazırlamış olduğum bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:join:#:$iif($nick == $me,.timerkntrl 0 60 guest #,$iif(guest* iswm $nick,$+(.timer,$v2) 1 30 msg # $+($chr(22),$v2,$chr(22)) nick değiştiriniz vs.)) alias guest { if $ialchan(Guest*,$1,0) >= 2 { var %t = 1,%y while %t <= $ialchan(Guest*,$1,0) { %y = $addtok(%y,$+($chr(22),$gettok($ialchan(Guest*,$1,%t),1,33),$chr(22)),32) $iif($hmatch(nick,$gettok($ialchan(Guest*,$1,%t),1,33)),hinc -m nick $gettok($ialchan(Guest*,$1,%t),1,33) 1,hadd -m nick $gettok($ialchan(Guest*,$1,%t),1,33) 1) if $hget(nick,$gettok($ialchan(Guest*,$1,%t),1,33)) >= 3 { ban -k $1 $gettok($ialchan(Guest*,$1,%t),1,33) 2 Sebeb. $+(.timer,$gettok($ialchan(Guest*,$1,%t),1,33)) off hdel -s nick $gettok($ialchan(Guest*,$1,%t),1,33) } inc %t } msg $1 %y nick değişiniz vs. } }



Gelen noticeleri, snoticeleri ve rumuzunun geçtiği mesajları(kanal ayrı, özel ayrı) ayrı pencerelerde gösteren kodlar.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on ^*:snotice:*:{ $iif(!$window(@duyuru),window -nCBas @duyuru) echo 5 @duyuru SNOTICE: $1- } on ^*:notice:*:?:{ $iif(!$window(@duyuru),window -nCBas @duyuru) echo 5 @duyuru Servis: $nick - Mesajı: $1- } on *:text:$($+(*,$me,*)):?: { if $active != $nick { $iif(!$window(@seslenme),window -nCBas @seslenme) echo 5 @seslenme Nick: $nick - Mesajı: $1- echo -ate Nick: $nick - Mesajı: $1- } } on *:text:$($+(*,$me,*)):#: { if $active != # { $iif(!$window(@seslenme),window -nCBas @seslenme) echo 5 @seslenme Kanal: # - Nick: $nick - Mesajı: $1- echo -ate Kanal: # - Nick: $nick - Mesajı: $1- } }




Size whois çeken kullanıcıları aynı bir pencerede(-l) listeleyen(aline) kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:snotice:*did a /whois on you*: { inc %1 $iif(!$window @Whois),window -lCb @Whois,aline 2 @Whois $+(%1,-) $2 whois çekti.) }



Tüm kanallardaki flaglarınızı(a,o,v,h,q vb.) larınızı geri almak için yazmış olduğum bir kod.
Kullanım: /opall


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias opall { var %s = 1 while %s <= $comchan($me,0) { mode $comchan($me,%s) -aqhvo $str($+($me,$chr(32)),5) inc %s } }




Belitilen kanala giren kullanıcıların IP numaralarını işleme alarak, daha önce sunucuya girip/girmediği gösteren detaylı bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:join:#belirtilen-kanal:userip $nick alias iptara { if $hget(kayıt) { var %o = 1 while %o <= $hget(kayıt,0).item { if $gettok($hget(kayıt,%o).item,2,189) == $1 && $gettok($hget(kayıt,%o).item,1,189) != $2 { $iif(!$window(@sonuc),window -nCbsa @sonuc) echo -te @sonuc Bilgi: $gettok($hget(kayıt,%o).item,2,189) IP adresin'den daha önce; $gettok($hget(kayıt,%o).item,1,189) nick'i ile giriş yapıldı. } inc %o } } } raw *:*: { haltdef if ($numeric = 340) { set %ip $gettok($2,2,64) who +h $gettok($2,2,64) hadd -m kayıt $+($gettok($2,1,61),½,$gettok($2,2,64)) iptara $gettok($2,2,64) $gettok($2,1,61) } if ($numeric = 352) { hadd -m nick $6 1 } if ($numeric = 315) { var %& = 1,%&& while %& <= $hget(nick,0).item { %&& = $addtok(%&&,$hget(nick,%&).item,32) inc %& } $iif(!$window(@IP),window -nCbsa @IP) echo -t @IP Bilgi: %ip adresin'den bağlantı kuranlar: %&& unset %ip hfree nick } }



Belirtilen kanala giriş yaptığınızda dosya.txt dosyasından mesajları 15 dakikada bir sırayla göndermek için yazmış olduğum bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on me:join:#belirtilen-kanal:.timer 0 180 textsnd # alias textsnd { if $lines(dosya.txt) = %t { unset %t inc %t } else inc %t msg $1 $read(dosya.txt,%t) }


/exit yazdığınızda belirlediğiniz mesajı /ame olarak attıktan sonra çıkış yapmak için yazdığım bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias exit { inc -e %e if (%e = 1 && $status = connected) { ame mesajın } else exit -n }


Socket bot için sunucuya giren ve belirtilen idente sahip kullanıcıyı belirtilen kanala /sajoin-lemek için yazmış olduğum bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if ($2 = notice && *Client connecting* iswm $3-) { if ($remove($gettok($13,1,64),$chr(40)) = belirtilen-ident) { sockwrite -n socket-ismi sajoin $12 #belirtilen-kanal } }


Kanal belirlediğiniz flood saldırısında, kanalı belirlediğiniz süre ile +m moduna alıp, temizle.mrc dosyasındaki verilerle kanalı temizleyip tekrar kanalaı açmak için yazmış olduğum bir kod


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias -l fld { hinc $+(-mu,$1) fld $+($3,½,$4,$encode($5)) 1 if ($hget(fld,$+($3,½,$4,$encode($5))) >= $2) return $true else return $false } alias temizle { var %t 1 while %t <= $lines(temizle.mrc) { msg $1 $read(temizle.mrc,%t) inc %t } } on @*:text:*:#: { if $nick isreg # && $fld(10,3,#,$nick,$1-) { ban -k # $nick 2 sebeb. mode # +m temizle # msg # Kanal güvenlik amaçlı 20 sn vs. if !$timer($+(#,½,fld)) { $+(.timer,½,#) 1 20 mode # -m .timer 1 21 msg # Kanal açıldı. } } }

/fld alias'ının kullanımı; $fld(saniye,limit,#kanal,text-own,mesaj)
Ben örnek olarak; 10 saniye içerisin'de, aynı text 3 defa tekrar edilirse, gördüğünüz işlevleri sırası ile gerçekleştirir.

Eğer aynı yazının tekrar'ı değilde, belirlediğim saniye içerisin'de belirlediğim satır limit'i aşılırsa(hızlı text) işlev yapmak istiyorum diyorsan;
/fld alias'ını aşşağıdaki şekilde değiştir;


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias -l fld { hinc $+(-mu,$1) fld $+($3,½,$4) 1 if ($hget(fld,$+($3,½,$4)) >= $2) return $true else return $false }

Ve kullanım şeklini verdiğim şekilde yap; $fld(saniye,limit,#kanal,text-own)

Örneğin; $fld(10,5,#,$nick)
10 saniye içerisinde, 5 satır text gönderen'e işlev yapar. Kanal'ı temizler vs.




Bu kod kanal veya özel loglarını aramak/okumak vb. işlemler için yazılmış detaylı bir snippet-dır.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
menu channel { Loglar menüsü .# logu:kanal # .Özel logları:falan $$?="Log'unu okumak istediginiz nick'i giriniz:" } alias falan { if $findfile($logdir,$+($1,*),0) >= 1 { var %1 = $v1 $iif($input(Aradığınız nick için %1 adet veri bulundu açmak istiyormusunuz?,w) == $false,halt) var %2 = 1,%3 = $findfile($logdir,$+($1,*),0) while %2 <= %3 { run $findfile($logdir,$+($1,*),%2) | inc %2 } } else { var %/ = $1,%½ = $left($1,1) $iif($input(Aradığınız %/ nick'i için uygun kayıt bulunamadı. %½ harfi ile başlıyan loglar listelensinmi?,w) == $false,halt) echo -at $left($1,1) ile başlıyan loglar sıralanıyor. echo -at $findfile($logdir,$+($left($1,1),*),0,echo -at $gettok($1-,$numtok($1-,92),92)) } } alias kanal { if $findfile($logdir,$+($1,*),0) >= 1 { var %1 = $v1, %% = $1 $iif($input(Aradığınız %% kanal'ı için %1 adet veri bulundu açmak istiyormusunuz?,w) == $false,halt) var %2 = 1,%3 = $findfile($logdir,$+($1,*),0) while %2 <= %3 { run $findfile($logdir,$+($1,*),%2) inc %2 } } else { var %& = $1 $input(%& kanal'ı için herhangi bir kayıt bulunamadı,ohud,UYARI,) } }




Bu kod belirtilen kanala(sağ tıklayın popups bölümünde var) logları okumanıza yarar.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
menu channel { # kanal log'u:searchlog # $gettok($server,2-,46) } alias searchlog { if ($findfile($logdir,$+($1,.,$2,*),0) = 0) $iif($input($1 kanal' için log bulunamadı.,ohud,uyarı) = $true,return,return) run $findfile($logdir,$+($1,.,$2,*),1) }




Bu kod belirtilen kanaldaki tüm kullanıcılara kontrol mesajı yollar. Eğer 10 saniye içerisinde herhangi bir kullanıcı mesaja cevap verirse kanaldan banlayacaktır.
Kodu kullanmak için, belirtilen kanalın client editbox kutusuna /kontrol yazmanız yeterli olacaktır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias kontrol { write -c kontrol.txt set -eu10 %k $active var %1 = 1,%v1 while $nick(%k,%1) { %v1 = $v1 if %v1 != $me { .msg %v1 Kontrol mesajıdır. write kontrol.txt %v1 } inc %1 } } on *:text:*:?:if (%k && $nick ison %k && $read(kontrol.txt,w,$nick)) ban -k %k $nick 2 sebeb.




Bu kod #help - #yardım kanalına giren kullanıcının host adresine bakarak, admin, ircop vb. kişiler dışındaki kişilere +v(voice) verip mesaj göndermek için yazılmıştır.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on !*:join:#help,#yardım: { if (!$regex($gettok($address($nick,2),2,64),/network|admin|ircop/i)) { mode # +v $nick msg # $nick mesajın. } }

Not: | operatörü ile daha fazla host ekleyebilirsiniz.




Bu kod sunucuya giren kullanıcının ident, nick ve fullname-si birbirinin aynısı ise sunucudan gline ile uzaklaştırmak için yazılmıştır.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:snotice:*client connect*: { if ($left($9,-2) = $remove($gettok($10,1,64),$chr(40)) && $remove($11,[,]) = $left($9,-2)) { gline $9 sebeb. } }

Sesli harfleri "*" karakteri olarak gösterme.
Kullanım: Reklam.txt içerisindeki kelimeler üzerinde işlev yapar.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on @*:text:*:#:{ var %s = 1,%ss = $lines(reklam.txt) while %s <= %ss { if $+(*,$read(reklam.txt,%s),*) iswm $1- { var %o = $remove($v1,*),%p = $regsub(%o,/(a|e|i|u|ü|o|ö|[A-Z])/gi,$chr(42)\1,%o) ban -k # $nick 2 Yasaklı kelime kullandınız: %o } inc %s } }

İkinci kullanım:

Örneğin; //echo -: $ok(Nasılsınız?) yaptığında; N*s*ls*n*z? olarak dönecektir.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias ok { var %1 = $1- var %2 = $regsub(%1,/(a|e|i|u|ü|o|ö|ı)/gi,$chr(42)\1,%1) return %1 }



Bu kod özele yazan nick kayıtlı değilse ve kufur.txt dosyasından herhangi bir kelimeyi kullandıysa, tüm kanallardan banlamak için kullanılır.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:?: { inc -e $+(%,t,$nick) if $($+(%,t,$nick),2) == 1 { .enable #u .who $nick } else { var %1 = 1,%2 = $lines(kufur.txt) while %1 <= %2 { if $+(*,$read(kufur.txt,%1),*) iswm $1- && $hmatch(nick,$nick) { var %p = $nick } inc %1 } var %s = 1,%ss = $comchan($me,0) while %s <= %ss { if $nick ison $comchan($me,%s) { ban -ku900 $comchan($me,%s) %p 2 BAN SEBEBİ. } inc %s } } } #u off raw *:*: { if $numeric == 352 { if r !isincs $7 { haltdef hadd -m nick $6 1 } } if $numeric == 315 { haltdef .disable #u } } #u end




Kanal menüsünü sağ tıklayarak temizle.txt içerisindeki dosyayı kanala yansıtma.
Not: Kanal temizlemek için kullanılır.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
menu channel { Temizle:temizle # } alias temizle { var %u = 1,%s = $lines(temizle.txt) while %u <= %s { msg $1 $read(temizle.txt,%u) inc %u } }


Belirtilen kanala giren kullanıcıları, belirlenen kanallara random sajoin-lemek.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on !*:join:#belirtilen-kanal:{ var %q = #kanal1 #kanal2 #kanal3 #kanal4 #kanal5,%t = $calc($numtok(%q,32)+1) inc -e %r $iif(%r != %t,sajoin $nick $gettok(%q,%r,32),unset %r) }




i) Kufur.txt dosyası üzerinde kanal yazılan text-lere işlem yapmak.
ii) Dosyaya kelime eklemek.
iii) Dosyadan kelime silmek.
iiii) Dosyadaki kelimeleri listemek vs.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
;/kekle kelime alias kekle { if $1 { if $read(kufur.txt,w,$1) { echo -at $1 kelimesi zaten listede. return } else { write kufur.txt $1 echo -at $1 kelimesi listeye eklendi. } } } ;/ksil kelime alias ksil { if $1 { if !$read(kufur.txt,w,$1) { echo -st $1 kelimesi listede yok. return } else { write $+(-dl,$readn) kufur.txt echo -st $1 kelimesi kufur listesinden silindi. } } } ;/klist alias klist { var %s = 1,%ss = $lines(kufur.txt) while %s <= %ss { echo -a Kelime: $read(kufur.txt,%s) inc %s } } ;Esas kod on @*:text:*:#:{ var %s = 1,%ss = $lines(kufur.txt) while %s <= %ss { if $+(*,$read(kufur.txt,%s),*) iswm $1- { ban -k # $nick 2 küfür yasak vs. } inc %s } }



Belirtilen kanalda kendi yazdığınız !sebeb [ip] kelimesi ilen belirtilen ip-i gzline/gline vb. listesinde arayıp, banlanma sebebini size/kanala yansıtacak kod.
Kullanım: !sebeb [ip-adresi]



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:input:#belirtilen-kanal:{ if $1 == !sebeb && $2 { .enable #x set %ip $2 stats g } } #x off raw *:*:{ if $numeric = 223 { haltdef var %& = $remove($3,@,*) if %ip == %& { hadd -m g $replace($7-,$chr(32),$chr(61)) } } if $numeric = 219 { haltdef if !$hget(g) { msg #belirtilen-kanal %ip ip'i bulunamadı. return } else { msg #belirtilen-kanal %ip ip'inin atılma sebebi; $replace($hget(g,1).item,$chr(61),$chr(32)) hfree g disable #x } } } #x end



MsnSONG.dll kullanarak sunucudaki kullanıcı sayısını /map komutu ile msn-ye yansıtmak.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias msnsong { var %dll MsnSong.dll .comreg %dll .comopen msn Msn.Write var %i $com(msn,WriteToMsn,1,bstr,$1-,bstr,$null,bstr,$null) .comreg -u %dll .comclose msn } raw 6:*:msnsong $2 user sayısı: $3


Kanal text gönderirken text içerisinde kanalda bulunan bir nick varsa o nick bold/kalın olarak belirleme.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:input:*: { if $left($1,1) != / { var %q 1 while (%q <= $numtok($1-,32)) { if ($gettok($1-,%q,32) ison $active) { say $replace($1-,$v1,$+($chr(2),$v1,$chr(2))) break } inc %q } haltdef } }




Özelinizdeki (/query) nickin clone-si hakkında bilgi veren kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:active:?: { if $ial($address($active,2),0) >= 2 { inc -e $+(%,p,$active) if $($+(%,p,$active),2) == 1 { var %1 1,%2 while %1 <= $ial($address($active,2),0) { %2 = $addtok(%2,$gettok($ial($address($active,2),%1),1, 33 ),32) inc %1 } echo $active %2 nickleri aynı hosta sahipler. } } }




Kanala giren guest takılı kullanıcılara işlev(uyarı, 2. uyarı ve ban) yapmak için hazırlamış olduğum bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:join:#:$iif($nick == $me,.timerkntrl 0 60 guest #,$iif(guest* iswm $nick,$+(.timer,$v2) 1 30 msg # $+($chr(22),$v2,$chr(22)) nick değiştiriniz vs.)) alias guest { if $ialchan(Guest*,$1,0) >= 2 { var %t = 1,%y while %t <= $ialchan(Guest*,$1,0) { %y = $addtok(%y,$+($chr(22),$gettok($ialchan(Guest*,$1,%t),1,33),$chr(22)),32) $iif($hmatch(nick,$gettok($ialchan(Guest*,$1,%t),1,33)),hinc -m nick $gettok($ialchan(Guest*,$1,%t),1,33) 1,hadd -m nick $gettok($ialchan(Guest*,$1,%t),1,33) 1) if $hget(nick,$gettok($ialchan(Guest*,$1,%t),1,33)) >= 3 { ban -k $1 $gettok($ialchan(Guest*,$1,%t),1,33) 2 Sebeb. $+(.timer,$gettok($ialchan(Guest*,$1,%t),1,33)) off hdel -s nick $gettok($ialchan(Guest*,$1,%t),1,33) } inc %t } msg $1 %y nick değişiniz vs. } }



Gelen noticeleri, snoticeleri ve rumuzunun geçtiği mesajları(kanal ayrı, özel ayrı) ayrı pencerelerde gösteren kodlar.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on ^*:snotice:*:{ $iif(!$window(@duyuru),window -nCBas @duyuru) echo 5 @duyuru SNOTICE: $1- } on ^*:notice:*:?:{ $iif(!$window(@duyuru),window -nCBas @duyuru) echo 5 @duyuru Servis: $nick - Mesajı: $1- } on *:text:$($+(*,$me,*)):?: { if $active != $nick { $iif(!$window(@seslenme),window -nCBas @seslenme) echo 5 @seslenme Nick: $nick - Mesajı: $1- echo -ate Nick: $nick - Mesajı: $1- } } on *:text:$($+(*,$me,*)):#: { if $active != # { $iif(!$window(@seslenme),window -nCBas @seslenme) echo 5 @seslenme Kanal: # - Nick: $nick - Mesajı: $1- echo -ate Kanal: # - Nick: $nick - Mesajı: $1- } }




Size whois çeken kullanıcıları aynı bir pencerede(-l) listeleyen(aline) kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:snotice:*did a /whois on you*: { inc %1 $iif(!$window @Whois),window -lCb @Whois,aline 2 @Whois $+(%1,-) $2 whois çekti.) }



Tüm kanallardaki flaglarınızı(a,o,v,h,q vb.) larınızı geri almak için yazmış olduğum bir kod.
Kullanım: /opall


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias opall { var %s = 1 while %s <= $comchan($me,0) { mode $comchan($me,%s) -aqhvo $str($+($me,$chr(32)),5) inc %s } }




Belitilen kanala giren kullanıcıların IP numaralarını işleme alarak, daha önce sunucuya girip/girmediği gösteren detaylı bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:join:#belirtilen-kanal:userip $nick alias iptara { if $hget(kayıt) { var %o = 1 while %o <= $hget(kayıt,0).item { if $gettok($hget(kayıt,%o).item,2,189) == $1 && $gettok($hget(kayıt,%o).item,1,189) != $2 { $iif(!$window(@sonuc),window -nCbsa @sonuc) echo -te @sonuc Bilgi: $gettok($hget(kayıt,%o).item,2,189) IP adresin'den daha önce; $gettok($hget(kayıt,%o).item,1,189) nick'i ile giriş yapıldı. } inc %o } } } raw *:*: { haltdef if ($numeric = 340) { set %ip $gettok($2,2,64) who +h $gettok($2,2,64) hadd -m kayıt $+($gettok($2,1,61),½,$gettok($2,2,64)) iptara $gettok($2,2,64) $gettok($2,1,61) } if ($numeric = 352) { hadd -m nick $6 1 } if ($numeric = 315) { var %& = 1,%&& while %& <= $hget(nick,0).item { %&& = $addtok(%&&,$hget(nick,%&).item,32) inc %& } $iif(!$window(@IP),window -nCbsa @IP) echo -t @IP Bilgi: %ip adresin'den bağlantı kuranlar: %&& unset %ip hfree nick } }



Belirtilen kanala giriş yaptığınızda dosya.txt dosyasından mesajları 15 dakikada bir sırayla göndermek için yazmış olduğum bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on me:join:#belirtilen-kanal:.timer 0 180 textsnd # alias textsnd { if $lines(dosya.txt) = %t { unset %t inc %t } else inc %t msg $1 $read(dosya.txt,%t) }


/exit yazdığınızda belirlediğiniz mesajı /ame olarak attıktan sonra çıkış yapmak için yazdığım bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias exit { inc -e %e if (%e = 1 && $status = connected) { ame mesajın } else exit -n }


Socket bot için sunucuya giren ve belirtilen idente sahip kullanıcıyı belirtilen kanala /sajoin-lemek için yazmış olduğum bir kod.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if ($2 = notice && *Client connecting* iswm $3-) { if ($remove($gettok($13,1,64),$chr(40)) = belirtilen-ident) { sockwrite -n socket-ismi sajoin $12 #belirtilen-kanal } }


Kanal belirlediğiniz flood saldırısında, kanalı belirlediğiniz süre ile +m moduna alıp, temizle.mrc dosyasındaki verilerle kanalı temizleyip tekrar kanalaı açmak için yazmış olduğum bir kod


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias -l fld { hinc $+(-mu,$1) fld $+($3,½,$4,$encode($5)) 1 if ($hget(fld,$+($3,½,$4,$encode($5))) >= $2) return $true else return $false } alias temizle { var %t 1 while %t <= $lines(temizle.mrc) { msg $1 $read(temizle.mrc,%t) inc %t } } on @*:text:*:#: { if $nick isreg # && $fld(10,3,#,$nick,$1-) { ban -k # $nick 2 sebeb. mode # +m temizle # msg # Kanal güvenlik amaçlı 20 sn vs. if !$timer($+(#,½,fld)) { $+(.timer,½,#) 1 20 mode # -m .timer 1 21 msg # Kanal açıldı. } } }

/fld alias'ının kullanımı; $fld(saniye,limit,#kanal,text-own,mesaj)
Ben örnek olarak; 10 saniye içerisin'de, aynı text 3 defa tekrar edilirse, gördüğünüz işlevleri sırası ile gerçekleştirir.

Eğer aynı yazının tekrar'ı değilde, belirlediğim saniye içerisin'de belirlediğim satır limit'i aşılırsa(hızlı text) işlev yapmak istiyorum diyorsan;
/fld alias'ını aşşağıdaki şekilde değiştir;


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias -l fld { hinc $+(-mu,$1) fld $+($3,½,$4) 1 if ($hget(fld,$+($3,½,$4)) >= $2) return $true else return $false }

Ve kullanım şeklini verdiğim şekilde yap; $fld(saniye,limit,#kanal,text-own)

Örneğin; $fld(10,5,#,$nick)
10 saniye içerisinde, 5 satır text gönderen'e işlev yapar. Kanal'ı temizler vs.




Bu kod kanal veya özel loglarını aramak/okumak vb. işlemler için yazılmış detaylı bir snippet-dır.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
menu channel { Loglar menüsü .# logu:kanal # .Özel logları:falan $$?="Log'unu okumak istediginiz nick'i giriniz:" } alias falan { if $findfile($logdir,$+($1,*),0) >= 1 { var %1 = $v1 $iif($input(Aradığınız nick için %1 adet veri bulundu açmak istiyormusunuz?,w) == $false,halt) var %2 = 1,%3 = $findfile($logdir,$+($1,*),0) while %2 <= %3 { run $findfile($logdir,$+($1,*),%2) | inc %2 } } else { var %/ = $1,%½ = $left($1,1) $iif($input(Aradığınız %/ nick'i için uygun kayıt bulunamadı. %½ harfi ile başlıyan loglar listelensinmi?,w) == $false,halt) echo -at $left($1,1) ile başlıyan loglar sıralanıyor. echo -at $findfile($logdir,$+($left($1,1),*),0,echo -at $gettok($1-,$numtok($1-,92),92)) } } alias kanal { if $findfile($logdir,$+($1,*),0) >= 1 { var %1 = $v1, %% = $1 $iif($input(Aradığınız %% kanal'ı için %1 adet veri bulundu açmak istiyormusunuz?,w) == $false,halt) var %2 = 1,%3 = $findfile($logdir,$+($1,*),0) while %2 <= %3 { run $findfile($logdir,$+($1,*),%2) inc %2 } } else { var %& = $1 $input(%& kanal'ı için herhangi bir kayıt bulunamadı,ohud,UYARI,) } }




Bu kod belirtilen kanala(sağ tıklayın popups bölümünde var) logları okumanıza yarar.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
menu channel { # kanal log'u:searchlog # $gettok($server,2-,46) } alias searchlog { if ($findfile($logdir,$+($1,.,$2,*),0) = 0) $iif($input($1 kanal' için log bulunamadı.,ohud,uyarı) = $true,return,return) run $findfile($logdir,$+($1,.,$2,*),1) }




Bu kod belirtilen kanaldaki tüm kullanıcılara kontrol mesajı yollar. Eğer 10 saniye içerisinde herhangi bir kullanıcı mesaja cevap verirse kanaldan banlayacaktır.
Kodu kullanmak için, belirtilen kanalın client editbox kutusuna /kontrol yazmanız yeterli olacaktır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias kontrol { write -c kontrol.txt set -eu10 %k $active var %1 = 1,%v1 while $nick(%k,%1) { %v1 = $v1 if %v1 != $me { .msg %v1 Kontrol mesajıdır. write kontrol.txt %v1 } inc %1 } } on *:text:*:?:if (%k && $nick ison %k && $read(kontrol.txt,w,$nick)) ban -k %k $nick 2 sebeb.




Bu kod #help - #yardım kanalına giren kullanıcının host adresine bakarak, admin, ircop vb. kişiler dışındaki kişilere +v(voice) verip mesaj göndermek için yazılmıştır.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on !*:join:#help,#yardım: { if (!$regex($gettok($address($nick,2),2,64),/network|admin|ircop/i)) { mode # +v $nick msg # $nick mesajın. } }

Not: | operatörü ile daha fazla host ekleyebilirsiniz.




Bu kod sunucuya giren kullanıcının ident, nick ve fullname-si birbirinin aynısı ise sunucudan gline ile uzaklaştırmak için yazılmıştır.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:snotice:*client connect*: { if ($left($9,-2) = $remove($gettok($10,1,64),$chr(40)) && $remove($11,[,]) = $left($9,-2)) { gline $9 sebeb. } }

Soğuk bunu beğendi.
  Alıntı ile Cevapla

IRCForumu.Net - Reklam Alanı

Cevapla

Etiketler
göre, isteğe, kodlar, yazılan, İsteğe
IRCForumu.Net - Sponsor Bağlantılar



Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık