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

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
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

IRCForumlari.NET Reklamlar
sohbet odaları sohbet bizimmekan reklamver
Alt 05 Aralık 2025, 00:09   #2
Çevrimiçi
~ BLaCK_and_WHiTe ~
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: IUCtools tcl kanal programları tclsi




Çok marjinal bir çalışma olmuş ama bence çoğaltılabilir seçenekler

__________________
BLaCK_and_WHiTe is now known as SNOOPY


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

Alt 05 Aralık 2025, 00:48   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: IUCtools tcl kanal programları tclsi




@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ya işte paldır küldür kod bu kadar oluyor gerisini siz halledersiniz temeli benden geliştirmesi sizden

__________________
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

Alt 05 Aralık 2025, 11:12   #4
Çevrimiçi
# Forum Dedesi #
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: IUCtools tcl kanal programları tclsi




Gayet güzel eline sağlık üstat başarılar..

__________________
Yahudi mi dediniz? onlar yumurtalarini pisirmek icin dunyayi atese vermekten cekinmeyen LANETLILERDIR!!!


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

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

×