如果捕获搜索消息为空,如何设置

how to set if capture search message is empty

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 "%f\n"] data
        putserv "notice $nick :!putar $data"
        putserv "notice $nick :copy paste di channel !putar $data"
    }
}

putlog "find.tcl"

如果搜索在数据中 它可以很好地 post 到达目标。 如果搜索到的数据为空,则无法正常工作,请指出此脚本是否不完整或错误。

我在这条线上找到了解决方案:

if { $judul == ""}

这样的东西行得通吗?

    proc pub:cari { args } {
        lassign $args nick host hand chan text
        ...

通常在 TCL 中,如果您没有向函数传递足够的参数,则会出现错误。如果您不知道您的函数将接受多少个参数,您可以将最后一个参数命名为 "args",任何额外的参数都将作为列表放入此变量中。