Code: Select all
bind pub - !kartta pub_kartta
proc pub_kartta { nick uhost hand chan args } {
global kartta_db
set kartta_db "data/kartta.dat"
set args [split [lindex $args 0] " "]
if {$args == ""} { puthelp "PRIVMSG $chan :$nick !kartta <hakusana> ohjeet: hakusanan tulee olla kolme merkkiä pitkä tai pitempi, eikä siinä saa käyttää$
return
}
if {$args == "kz"} { puthelp "PRIVMSG $chan :$nick !kartta <hakusana> ohjeet: hakusanan tulee olla kolme merkkiä pitkä tai pitempi, eikä siinä saa käytt$
return
}
set explain [string tolower [lindex $args 0]]
set chan [string tolower $chan]
set init_t [clock clicks -milliseconds]
set fp [open $kartta_db r]
set matches ""
set allEntrys ""
while {![eof $fp]} {
gets $fp curEntry
if {[info exists curEntry]&&$curEntry!=""} {
set curEntry [split [string tolower $curEntry] " "]
set thisEntry [join [lrange $curEntry 0 end] " "]
if { [string match -nocase "*${args}*" $thisEntry] } {
if { [lsearch $allEntrys [lindex curEntry 1]]==-1 } {lappend allEntrys [lrange $thisEntry 0 end]
set allEntrys [lsort -unique $allEntrys]
}
} } }
set init_t [expr double(([clock clicks -milliseconds] - $init_t))/1000]
if {$allEntrys==""} { puthelp "PRIVMSG $chan :Karttaa ei löytynyt."
} else {
if {[llength $allEntrys]>5} {puthelp "PRIVMSG $chan :Liian monta karttaa löytyi, kokeille muulla hakusanalla."
} else {
set jee1 "[lrange $allEntrys 0 1]"
puthelp "PRIVMSG $chan :Löytyi [llength $allEntrys] kartta(a). $allEntrys"
}
}
}