🔔 Çevrimdışı bildirim almak ister misiniz?
Bir konuya etiketlendiğinizde, özel mesaj aldığınızda, bir mesajınız alıntılandığında forumda olmasanız bile anlık bildirim almak için lütfen izni verin.
Aradan uzun zaman geçti, hatırlamakta da zorlandım bu konuyu, bir arkadaş msnden bu kodla ilgili yardım istedi; çalıştıramamış. Ben de zaten o zaman kodu denemediğimi yazmıştım, ufak tefek hatalar varmış kodta. Gözüme çarpanlarını düzelttim. Bu haliyle kullanılabiliyor.
İşte çalışan hali:
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#################################################################### # BANLANSIN.tcl # Kullanıcıların kanalda rahatsızlık verenleri oylama # yolu ile botunuza attırmasını sağlayacak olan, daha öncesinde # mIRC tabanlı örneğini gördüğümüz özelliğin istekler doğrultusunda # TCL scripting ile baştan kodlanmış halidir. # Mümkün olduğunca ayarlanabilir şekilde hazırladım. # # Yapımcı : SaW (Nebiliymben) # İletişim: Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# 24 Ekim 2008 Cuma (edit: 5 eylül 2009) # ####################################################################
# Bu özelliğin çalışmasını istediğiniz kanalları # Aralarına boşluk bırakarak belirtiniz. # Botun bulunduğu bütün kanallarda çalışmasını istiyorsanız "*" yazınız. set bn(kanallar) "#Kanal1 #kanal2 #kanal3"
# Ban süresini giriniz. (0'dan daha büyük rakam belirtiniz.) # Süreyi dakika cinsinden belirtiniz. set bn(bansure) 15
# Belirtilen kişilerin banlanması için gereken oy adedini giriniz. # (Bir kişi sadece bir oy kullanabilir.) set bn(oyadeti) 4
# Oylama süresini giriniz. Süre sonunda oylama sıfırlanacaktır. # Süreyi saniye cinsinden belirtiniz. set bn(oysure) 120
# Oylama sonuçlarının kişiye notice ile bildirilmesi için 1, # kanala mesaj halinde bildirilmesi için 2 yazınız. set bn(msgtype) 1
bind pub - !banla banla:rey
if {$bn(msgtype) != "1" && $bn(msgtype) != "2"} { putlog "Geçersiz Mesaj tipi! bn(msgtype) 1 ya da 2 olabilir." die }
proc banla:rey {nick uhost hand chan arg} { global bn botnick if {([lsearch -exact $bn(kanallar) $chan] == -1) && ($chan != "*")} {return} if {![isop $botnick $chan]} {return} if {[llength $arg] < 1} { putquick "NOTICE $nick :Banlanmasını\ istediğiniz \037nicki\037 belirtmediniz!" return } if {[llength $arg] > 1} { putquick "NOTICE $nick :Bu komutu \037sadece\ bir nick\037 için kullanabilirsiniz!" return } set bnick $arg if {![onchan $bnick $chan]} { putquick "NOTICE $nick :Banlanmasını\ istediğiniz nick şuanda bu kanalda bulunmuyor!" return } if {[isop $bnick $chan]} { putquick "NOTICE $nick :Banlanmasını\ istediğiniz kişi bir \037kanal yetkilisidir!\037" putquick "NOTICE $bnick :$nick sizin $chan kanalından banlanmanız\ için oy kullanmaya çalıştı." return } if {$bn(msgtype) == 1} { set bildiri NOTICE ; set bilecek $nick } if {$bn(msgtype) == 2} { set bildiri PRIVMSG ; set bilecek $chan } if {![info exists bn([set onick [md5 [string tolower [getchanhost $bnick $chan]]]])]} { if {![info exists bn([set rnick [md5 [string tolower [getchanhost $nick $chan]$onick]]])]} { putlog "buradayim: $onick - $rnick" set bn($rnick) 1 utimer $bn(oysure) [list unset bn($rnick)] } elseif {[info exists bn([set rnick [md5 [string tolower [getchanhost $nick $chan]$onick]]])]} { putlog "buradayim0: $onick - $rnick" putquick "NOTICE $nick :Bu nick için zaten oy kullandınız!" return } set bn($onick) 1 utimer $bn(oysure) [list oyTime $onick] putquick "NOTICE $nick :$bnick nickinin $chan kanalından banlanması\ için verdiğiniz oy kaydedilmiştir." putquick "$bildiri$bilecek :[expr $bn(oyadeti)-1] kişinin daha oy kullanması\ halinde kişi $chan kanalından banlanacaktır." return } if {[info exists bn([set onick [md5 [string tolower [getchanhost $bnick $chan]]]])]} { if {![info exists bn([set rnick [md5 [string tolower [getchanhost $nick $chan]$onick]]])]} { putlog "buradayim1: $onick - $rnick" set bn($rnick) 1 utimer $bn(oysure) [list unset bn($rnick)] } elseif {[info exists bn([set rnick [md5 [string tolower [getchanhost $nick $chan]$onick]]])]} { putlog "buradayim2: $onick - $rnick" putquick "NOTICE $nick :Bu nick için zaten oy kullandınız!" return } incr bn($onick) if {$bn($onick) < $bn(oyadeti)} { putquick "NOTICE $nick :$bnick nickinin $chan kanalından banlanması\ için verdiğiniz oy kaydedilmiştir." putquick "$bildiri$bilecek :[expr $bn(oyadeti)-$bn($onick)] kişinin daha oy kullanması\ halinde kişi $chan kanalından banlanacaktır. Kullanılan oy sayısı: $bn($onick)" return } if {$bn($onick) == $bn(oyadeti)} { putquick "MODE $chan +b *!*@[getchanhost $bnick$chan]" putquick "KICK $chan$bnick Yapılan oylama sonucunda verdiğiniz rahatsızlıktan\ dolayı $bn(bansure) dk $chan kanalından uzaklaştırıldınız!" timer $bn(bansure) [list pushmode $chan -b *!*@[getchanhost $bnick $chan]] unset bn($rnick) unset bn($onick) } } }
proc oyTime onick { global bn if {[info exists bn($onick)]} { incr bn($onick) -1 if {$bn($onick) <= 0} {unset bn($onick)} } }
putlog "BANLANSIN.tcl by SaW Başarıyla Yüklendi."
Konu Nebiliymben tarafından (05 Eylül 2009 Saat 05:50 ) değiştirilmiştir.