~mdw
/
ircbot
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
helpinfos: Missing cross-reference.
[ircbot]
/
parsecmd.tcl
diff --git
a/parsecmd.tcl
b/parsecmd.tcl
index
de8d322
..
925eed3
100644
(file)
--- a/
parsecmd.tcl
+++ b/
parsecmd.tcl
@@
-23,6
+23,15
@@
proc ta_nick {} {
return $v
}
return $v
}
+proc ta_interval_optional {min def} {
+ upvar 1 text text
+ if {[ta_anymore]} {
+ return [parse_interval [ta_word] $min]
+ } else {
+ return $def
+ }
+}
+
proc usererror {emsg} { error $emsg {} {BLIGHT USER} }
proc go_usercommand {p c n dest text} {
proc usererror {emsg} { error $emsg {} {BLIGHT USER} }
proc go_usercommand {p c n dest text} {
@@
-30,7
+39,7
@@
proc go_usercommand {p c n dest text} {
set ucmd [ta_word]
set procname ucmd/[string tolower $ucmd]
if {[catch { info body $procname }]} {
set ucmd [ta_word]
set procname ucmd/[string tolower $ucmd]
if {[catch { info body $procname }]} {
- usererror "Unknown command; try help for
h
elp."
+ usererror "Unknown command; try help for
H
elp."
}
$procname $p $dest
}
}
$procname $p $dest
}
@@
-61,6
+70,10
@@
proc def_ucmd {cmdname body} {
proc ucmd/$cmdname {p dest} " upvar 1 text text\n$body"
}
proc ucmd/$cmdname {p dest} " upvar 1 text text\n$body"
}
+proc def_ucmd_alias {alias canon} {
+ proc ucmd/$alias {p dest} " uplevel 1 \[list ucmd/$canon \$p \$dest\]\n"
+}
+
proc ucmdr {priv pub args} {
return -code return [concat [list $priv $pub] $args]
}
proc ucmdr {priv pub args} {
return -code return [concat [list $priv $pub] $args]
}