Tekil Mesaj gösterimi
Alt 05 Eylül 2009, 05:12   #11
Çevrimdışı
SaW
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: atılsın tcl istek..




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(bansure15

# Belirtilen kişilerin banlanması için gereken oy adedini giriniz.
# (Bir kişi sadece bir oy kullanabilir.)
set bn(oyadeti4

# Oylama süresini giriniz. Süre sonunda oylama sıfırlanacaktır.
# Süreyi saniye cinsinden belirtiniz.
set bn(oysure120

# 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(msgtype1


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($rnick1
            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($onick1
        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($rnick1
            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 -*!*@[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.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet