bind pub - "!find" pub:cari
proc pub:cari { nick host hand chan text } {
set judul [lindex $text 0]
if { $judul == ""} {
puthelp "notice $nick :ketik !find <penyanyi/artis>"
return
} else {
putquick "notice $nick :being processed $judul"
catch [list exec find /home/gusman/mp3 -name "*$judul*" -type f -printf "%fn"] data
putserv "notice $nick :!putar $data"
putserv "notice $nick :copy paste di channel !putar $data"
}
}
putlog "find.tcl"
如果搜索在数据中发布到目标效果很好。如果搜索到的数据为空,则不起作用,请指出此脚本是否不完整或错误。
我有
这一行的解决方案:
if { $judul == ""}
这样
的东西有用吗?
proc pub:cari { args } {
lassign $args nick host hand chan text
...
通常在 TCL 中,如果您没有向函数传递足够的参数,那么您会收到错误。如果你不知道你的函数将接受多少个参数,你可以将最后一个参数命名为"args",任何额外的参数都将作为列表放入此变量中。