Merhaba,
Bu TCL ile, listeye eklediğiniz kullanıcılar kanal girişlerinde otomatik voice (veya başka modlar) alacak, kişiler ayrıca bir mesajla karşılanacaklardır.
Kullanım:
!vipekle Nick
!vip on/off
!vipsil Nick
!vipliste
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#VIP olanların host taramasının yapılacağı süre (dakika cinsinden)
set viptime "30"
#VIP olanlara mesaj gönderilsin istiyorsan "1" yap, aksi halde "0" yap
set viphowmsg "1"
#Eğer "1" yapmışsan mesajı buraya yaz.
set vipmsg "Tebrikler, bu kanalda VIP olduğunuz için Voice (+) aldınız :)"
#VIP eklemeye yetkili olanların flagları
set vipwho "Nmn|MN"
############ AYARLAR BURAYA KADAR ##############
bind pub $vipwho !vip vipstatus
bind pub $vipwho !vipekle addvip
bind pub $vipwho !vipsil remvip
bind pub $vipwho !vipliste listvip
bind join - * vipscan
setudef flag vip
if {![info exists vips_running]} {
timer $viptime vips
set vips_running 1
}
proc vipstatus {nick host hand chan arg} {
set flag "vip"
set why [lindex [split $arg] 0]
if {$why == "" } { puthelp "NOTICE $nick :Kullanım: !vip <on> / <off>"
return 0
}
if {$why == "on"} {
channel set $chan +$flag
puthelp "NOTICE $nick :Kanalda VIP Sistemi aktif hale getirildi: $chan"
return 0
}
if {$why == "off"} {
channel set $chan -$flag
puthelp "NOTICE $nick :VIP Sistemi kapatılan kanal: $chan"
return 0
}
}
proc addvip {nick host hand chan arg} {
set dir "logs/vip($chan).txt"
set vip [join [lindex [split $arg] 0]]
if {$vip == ""} { puthelp "NOTICE $nick :Kullanım: !vipekle <nick>"
return 0
}
if {[file exists $dir] == 0} {
set file [open $dir a]
close $file
}
set file [open $dir a]
puts $file $vip
close $file
puthelp "NOTICE $nick :Eklenen VIP - $vip - veritabanına eklendi."
}
proc listvip {nick host hand chan arg} {
set dir "logs/vip($chan).txt"
if {[file exists $dir] == 0} {
set file [open $dir a]
close $file
}
set file [open $dir "r"]
set w [read -nonewline $file]
close $file
set data [split $w "\n"]
set i 0
if {$data == ""} { puthelp "NOTICE $nick :Eklenen hiç VIP Yok!"
return 0
}
foreach vip $data {
set i [expr $i +1]
lappend vipnumber $i.$vip
}
foreach txt [wordwrap [join $vipnumber " "] 200] {
puthelp "NOTICE $nick :VIP Eklenenler Listesi :"
puthelp "NOTICE $nick :$txt"
}
}
proc remvip {nick host hand chan arg} {
set dir "logs/vip($chan).txt"
set number [join [lindex [split $arg] 0]]
if {$number == ""} { puthelp "NOTICE $nick :Kullanım: !vipsil <number> (Listeden Seç)"
return 0
}
if {[file exists $dir] == 0} {
set file [open $dir a]
close $file
}
set file [open $dir "r"]
set data [read -nonewline $file]
close $file
set lines [split $data "\n"]
set i [expr $number - 1]
set delete [lreplace $lines $i $i]
set files [open $dir "w"]
puts $files [join $delete "\n"]
close $files
puthelp "NOTICE $nick :VIP Listesinden, $number numaralı kişi silindi. Kontol etmek için !vipliste komutunu kullanın."
}
proc vipscan {nick host hand chan} {
global vipmsg viphowmsg
set dir "logs/vip($chan).txt"
if {[file exists $dir] == 0} {
set file [open $dir a]
close $file
}
set file [open $dir "r"]
set w [read -nonewline $file]
close $file
set data [split $w "\n"]
if {$data == ""} {
return 0
}
foreach vip $data {
if {[string match -nocase $nick $vip]} {
if {$viphowmsg == "1"} {
puthelp "NOTICE $nick :$vipmsg"
}
pushmode $chan +v $vip
}
}
}
proc vips { } {
global viptime
foreach chan [channels] {
set dir "logs/vip($chan).txt"
if {[channel get $chan vip]} {
putlog "$chan kanalında VIP taraması yapılıyor.."
set file [open $dir "r"]
set w [read -nonewline $file]
close $file
set data [split $w "\n"]
foreach vip $data {
if {[onchan $vip $chan]} {
if {![isvoice $vip $chan]} {
pushmode $chan +v $vip
}
}
}
}
}
timer $viptime vips
return 1
}
proc wordwrap {str {len 100} {splitChr { }}} {
set out [set cur {}]; set i 0
foreach word [split [set str][unset str] $splitChr] {
if {[incr i [string len $word]]>$len} {
lappend out [join $cur $splitChr]
set cur [list $word]
set i [string len $word]
} {
lappend cur $word
}
incr i
}
lappend out [join $cur $splitChr]
}
İsterseniz modları kendinize göre değişin, +v yerine +o verdirebilir veya birden fazla mod kullanabilirsiniz. Güle güle kullanın.