IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  odeaweb

>
+
Etiketlenen Kullanıcılar

5Beğeni(ler)
  • 2 Post By IUC
  • 1 Post By SNOOPY
  • 1 Post By IUC
  • 1 Post By Dedecan61

 
 
LinkBack Seçenekler Stil
Prev önceki Mesaj   sonraki Mesaj Next
Alt 04 Aralık 2025, 21:03   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
IUCtools tcl kanal programları tclsi




PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!

# IUCTools
# IUC aralık 2025
# Eggdrop yönetimi için küçük yardımcı programlar

## NOT ##
# Tüm komutlara global +m (master)
# veya local +n (sahibi) erişebilir.
# Kullanıcı +n ise, sonuçlar
# sahip olduğu kanallarla sınırlıdır.

## KOMUTLAR ##
# .getattr <özellik>
#    Her kanal için <özellik> değerini döndürür
# .toggle <bayrak özniteliği> [kanal]
#    Kanalda özniteliği (bayrak türü olmalıdır) değiştirir
#    veya hedef belirlenmemişse tüm kanallarda değiştirir
# .achannels [attr]
#    attr etkin olan kanalların listesini döndürür
# .mcset [#chan[,#chan]] <[+|-]attr> [değer] [+|-özellik [değer]] [+|-özellik [değer]]
#    Özelliklerin değerini toplu olarak değiştirir. Aşağıdaki örnekleri inceleyin.

## ÖRNEKLER ##
# - Daha önce belirtildiği gibi, kullanıcı yerel +n ise, yalnızca
#    sahip olduğu kanallar etkilenecektir
# - Boşluk içeren dizeler {} içine alınmalıdır
# - Bir özniteliği sıfırlamak (boşaltmak) için, {} değerini ayarlayın.
# * .mcset need-op {} need-invite {putserv “PRIVMSG $::owner :Beni davet et!”} mytest {}
#    Bu, need-op ve mytest (dize veya int) özniteliklerini boşaltacak ve
#    putserv “PRIVMSG $::owner :Beni davet et!” need-invite'da ayarlanacaktır.
# * .mcset #chan1,#chan2 +guard -bitch wmsg {“merhaba arkadaşlar”}
#    Bu, guard'ı açar, bitch'i kapatır ve
#    wmsg'yi #chan1 ve #chan2'de “merhaba arkadaşlar” olarak ayarlar.



namespace eval iuctools {

   
variable version "0.3"
   
variable author "IUC"

   
# Kanallar için bir özniteliğin dönüş değeri
   
proc getattr {handle idx text} {
      
set attr [lindex $text 0]
      if {
$attr eq ""} {
         
putlog "Error: use .getattr attribute"
         
return
      }
      if {[::
pltools::getatype $attreq "unknow"} {
         
putlog "Error: $attr is not a valid attribute"
         
return
      }
      foreach 
[gethandlechans $handle] {
         
putlog "$attr for $c : [channel get $c $attr]"
      
}
   }

   
# Kanallar için bir özniteliğin dönüş değeri
   
proc toggle {handle idx text} {
      
lassign [split $textattr chan
      
if {[catch {set atype [chansettype $attr]}]} {
         
putlog "Sorry but $attr is not a valid attribute"
         
return
      }
      if {
$atype ne "flag"} {
         
putlog "Sorry, $attr is not a flag attribute"
         
return
      }
      
set lchan {}
         foreach 
[::pltools::gethandlechans $handle $chan] {
         if {[
channel get $c $attr]==1} {
            
channel set $c -$attr
         
} else {
            
channel set $c +$attr
         
}
         
lappend lchan $c
      
}
      
putlog "$attr toggled on [join $lchan ""]"
   
}

   
# Toplu ayar özellikleri
   
proc mcset {handle idx text} {
      
set arg [::pltools::txt2list $text]
      
set chans {}
      
set attrname ""
      
set attrvals ""
      
for {set i 0} {$i<[llength $arg]} {incr i} {
         if {
$i==&& [string index [lindex $arg $i0eq "#"} {
            
set chans [::pltools::gethandlechans $handle [lindex $arg $i]]
            continue
         } elseif {
$i==&& [string index [lindex $arg $i0ne "#"} {
            
set chans [::pltools::gethandlechans $handle]
         }
         
set atype [::pltools::getatype [lindex $arg $i]]
         if {
$atype eq "unknow"} {
            
putlog "Unknow attribute: [lindex $arg $i] - Continue to next one"
            
continue
         } elseif {
$atype == "flag"} {
            foreach 
c $chans {
               
putlog "channel set $c [lindex $arg $i]"
               
channel set $c [lindex $arg $i]
            }
         } else {
            foreach 
c $chans {
               
putlog "channel set $c [lindex $arg $i] {*}[lindex $arg $i+1]"
               
channel set $c [lindex $arg $i] {*}[lindex $arg $i+1]
            }
            
incr i
         
}
      }
   }

   
# Dahili kullanım
   # returns type of an attribute or unknow
   
proc getatype {attr} {
      
set f [string index $attr 0]
      if {
$f=="+" || $f=="-"} {
         
set tmpattr [string range $attr 1 end]
      } else {
         
set tmpattr $attr
      
}
      if {[catch {
set atype [chansettype $tmpattr]}]} {
         return 
"unknow"
      
} else {
         return 
$atype
      
}
   }

   
# Belirli bir özniteliğe sahip kanalları döndürür
   
proc achannels {handle idx text} {
      
set achans {}
      
set chans [::pltools::gethandlechans $handle]
      if {
$text eq ""} {
         
putlog $chans
         
return
      } else {
         if {[::
pltools::getatype $textne "flag"} {
            
putlog "$text is not a valid channel flag"
            
return
         }
         foreach 
c $chans {
            if {[
channel get $c $text]} {
               
lappend achans $c
            
}
         }
         if {[
llength $achans]==0} {
            
putlog "No channel with $text flag enabled"
         
} else {
            
putlog "$text enabled on [join $achans ""]"
         
}
      }
   }

   
# bir tanıtıcıya ait kanalların listesini döndürür
   
proc gethandlechans {handle {channels ""}} {
      if {
$channels ne "" && [string index $channels 0eq "#"} {
         
set lchans [split $channels ","]
      } else {
         
set lchans [channels]
      }
      if {[
matchattr $handle +m]} {
         foreach 
c $lchans {
            if {[
validchan $c]} {
               
lappend validchans $c
            
}
         }
      } else {
         foreach 
c $lchans {
            if {[
validchan $c] && [matchattr $handle |+n $c]} {
               
lappend validchans $c
            
}
         }
      }
      return 
$validchans
   
}

   
# iç kullanım
   # Metni listeye dönüştürmek için kısa yardımcı programlar
   
proc txt2list {text} {
      
set rlist {}
      
set tmp {}
      foreach 
[split $text " "] {
         if {[
llength $tmp]==&& [string index $e 0ne "\{"} {
            
lappend rlist $e
         
} elseif {[string index $e endne "\}"} {
            
lappend tmp $e
         
} else {
            
lappend tmp $e
            lappend rlist 
[join $tmp " "]
            
set tmp {}
         }
      }
      return 
$rlist
   
}

   
bind dcc getattr ::pltools::getattr
   bind dcc 
toggle ::pltools::toggle
   bind dcc 
mcset ::pltools::mcset
   bind dcc 
achannels ::pltools::achannels

   putlog 
"IUCTools v${::pltools::version} by ${::pltools::author} Yüklendi"



__________________
Bir çok yeni lamer sunucuda IUC nicki kullanıyor lamerlar onlar ben değilim inanmayınız ve güvenmeyiniz.
Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

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 Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
soru ekleme tclsi KatiL Eggdrop, NeoStats, BNC 6 16 Ocak 2014 10:57
Flood koruma tclsi yardım cszero TCL Scriptler 1 02 Temmuz 2009 22:19
radyo tclsi istek AnoXs TCL Scriptler 3 24 Mayıs 2009 17:40
ArkadaşLar AciLen Şiir TcLsi :( ByZaLiM Eggdrop, NeoStats, BNC 0 26 Ekim 2007 16:47
global tclsi shardad TCL Scriptler 3 14 Temmuz 2007 11:10

×