|
aCoustiC Nickli Üyeden Alıntı
|
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
# Giren kullanicilar bind join - * user_girdi proc user_girdi {nick uhost hand channel} { fyaz $nick scripts/kullanicilar.txt } # Cikan kullanicilar bind join - * user_cikti proc user_cikti {nick uhost hand channel msg} { fsil $nick scripts/kullanicilar.txt } # nick degistirenler icin bind nick - * yeni_nick proc yeni_nick {nick uhost handle channel newnick} { fsil $nick scripts/kullanicilar.txt fyaz $newnick scripts/kullanicilar.txt } # Ayrilma mesajlari part bind'e yonlendirmekte sakinca yok bind sign - * user_cikti # kick uygulamasi bind kick - * user_kick proc user_kick {nick host hand chan target reason} { fsil $nick scripts/kullanicilar.txt } # fyaz <veri> <dosya adi> # Yukaridaki gibi kullanilir ve belirtilen dosyaya belirtilen verinin yazilmasini saglar # ornek: fwrite aCoustiC kullanicilar.txt proc fyaz {text dosya} { set datafile $dosya set text [split $text] set ahand [lindex $text 0] # veri kontrolu if {$ahand == ""} { puthelp "Hata Kullanimi: fwrite <veri>" return } # Dosya ve veri kontrolu if {[file exists $datafile]} { set input [open $datafile r] while {![eof $input]} { set curline [gets $input];set curline [split $curline] if {[lindex $curline 0] == $ahand} { puthelp "HATA: $ahand zaten $datafile da mevcut" catch {close $input} return } } catch {close $input} } # Ekleme islemi icin yeni satir yarat ve yaz set output [open $datafile a] puts $output "[join $ahand]" flush $output catch {close $output} puthelp "[join $ahand] Basariyla $datafile dosyasina eklendi" return [join $ahand] } # fdel <veri> <dosya adi> # Yukaridaki gibi kullanilir ve dosya icerisinde belirtilmis bilgiyi siler # Ornek fdel aCoustiC kullanicilar.txt proc fsil {text dosya} { set datafile $dosya set text [split $text] set ahand [lindex $text 0] # degisken duzgun 1 sekilde yonlendiriliyormu bak if {$ahand == ""} { puthelp "HATA: fdel <veri> seklinde kullanin" return } # Dosya kontrol if {![file exists $datafile]} { puthelp "Hata Dosya Bulunamadı" return } # Dosya icerisinde veri araniyor ve yazma islemi gerceklesiyor set data "" set input [open $datafile r] while {![eof $input]} { set curline [gets $input];set curline [split $curline] if {$curline != ""} { set data [linsert $data end $curline] } } catch {close $input} set mark -1;set match "" foreach line $data { incr mark if {[lindex $line 0] == $ahand} { set match $mark break } } if {$match == ""} { puthelp "HATA: $ahand dosya icerisinde bulunamadi.." return } set newdata [lreplace $data $mark $mark] set output [open $datafile w] foreach newline $newdata { if {$newline != ""} { puts $output $newline } } flush $output catch {close $output} putlog "Basarili $ahand :Basariyla silindi.." return $ahand }
1 ornek yaptim ama deneme sansim olmadi (Umarim calisir) Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
fsil ve fyaz her yerde kullanabilecegin dosya yazma ve silme ozelligine sahip her yerde kullanabilirsin. Tabi unutmadan kullanici giris cikislarini kanallara ozel yapman lazim yoksa #musteri ve #bekleme kanallari ayri bindler de ifade edilmeli. ek olarak kullanici taramasi yapman lazim dosya icinde dosya icindeki kullanici kanaldami degil mi gibi.
daha tutumlu sorgular icin bu fonksiyonlari
if {[fsil nick dosya]} {
yada
if {[fyaz nick dosya]} {
ile denetleyebilirsin dogruysa degisken atanir dogru degilse degisken olmadigindan secmeden disari cikilir.
Kolay geldin
|
Merhaba Abi şimdi Ben Birşey Diyecem Başka Forumda vermıslerdi gördüm Abi Yalnız şu Özelligi yok !off dediğimiz zaman destek sistemi kapanması lazım demi Ama Kapanmıyor Böyle Bir TCL varsa verebilirsen seviniriz..
Tşk Ederiz Kolay Gelsin