Kod: Kodu kopyalamak için üzerine çift tıklayın!
#####################################################
## !veri ekle/sil/listele <nick> <#kanal>
## Kullanımı üste görüldüğü şekildedir.
## 09 Temmuz 2007 13:50
## By SaW - Nebiliymben...
#####################################################
bind pub - !veri verlst
proc verlst {nick host hand chan text} {
set yap [lindex [split $text] 0]
if {($yap != "listele") && [llength $text] < 2} { putquick "privmsg $chan :Kullanım: !veri <ekle/sil/listele> <nick> <#kanal> şeklindedir."; return 0 }
set vnick [lindex [split $text] 1]
set vkanal [lrange [split $text] 2 end]
if {[string match -nocase "ekle" $yap]} {
if {$vkanal == ""} {
putserv "privmsg $chan Kanal belirtmediniz, Lütfen kanal adını da belirtiniz." ; return 0
}
putquick "privmsg $nick :Veri: Nick: $vnick Kanal: $vkanal --> Başarıyla listeye eklendi."
set dl [open "scripts/bots" a]
puts $dl "[join $vnick] [join $vkanal] [join \002Ekleyen:\002] [join $nick] \n"
flush $dl
catch {closer $dl}
}
if {[string match -nocase "sil" $yap]} {
if {![file exists "scripts/bots"]} {
putserv "privmsg $chan :Liste zaten boş."
return
}
set data ""
set input [open "scripts/bots" r]
while {![eof $input]} {
set curline [gets $input];set curline [split $curline]
if {$curline != ""} {
set data [linsert $data end $curline]
}
}
catch {close $input}
set deger -1;set esles ""
foreach line $data {
incr deger
if {[string match -nocase "$vnick" [lindex $line 0]]} {
set esles $deger
break
}
}
if {$esles == ""} {
putserv "privmsg $chan :$vnick listede yok! Listeyi görmek için: !veri listele"
return
}
set newdata [lreplace $data $deger $deger]
set output [open "scripts/bots" w]
foreach newline $newdata {
if {$newline != ""} {
puts $output $newline
}
}
flush $output
catch {close $output}
putserv "privmsg $chan :$vnick ve $vkanal listeden silindi."
return
}
if {[string match -nocase "listele" $yap]} {
if {![file exists "scripts/bots"]} { putserv "privmsg $chan :Liste boş."; return 0 }
set input [open "scripts/bots" r]
set lines [split [read $input] \n]
catch {close $input}
set sayc 0
foreach line $lines {
if {$line != ""} {
putserv "privmsg $chan :$line"
incr sayc
}
}
if {$sayc == 0} {
putserv "privmsg $chan :Listede hiç kayıt bulunamadı."; return
} else { putserv "privmsg $chan :Listenin Sonu.."
}
}
}
putlog "VeriEkleme.tcl başarıyla yüklendi. \002B\002Y \002S\002a\002W\002"
!veri ekle <nick> <#kanal>
Listeye yeni bir veri eklemenize,
!veri sil <nick> <#kanal> (tek başına nick'i de söylemeniz o verinin silinmesi için yeterli olacaktır)
Listeden bir veri silmenize,
!veri listele
Listedeki tüm girdileri listelemenize yarar..
Not: Test etmedim, ama yüksek ihtimal çalışması lazım.