chiark / gitweb /
Improvements.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 14 Feb 2002 19:16:53 +0000 (19:16 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 14 Feb 2002 19:16:53 +0000 (19:16 +0000)
bot.tcl
parsecmd.tcl

diff --git a/bot.tcl b/bot.tcl
index b5abdda4a8798fda7988c81127fb120934c50abd..c473ce1cb66d1e287db26018003355dfa85835e4 100755 (executable)
--- a/bot.tcl
+++ b/bot.tcl
@@ -1340,6 +1340,7 @@ def_ucmd untell {
     ucmdr "Removed $ndel as yet undelivered message(s)." {}
 }
 
+def_ucmd_alias delmsgs delmsg
 def_ucmd delmsg {
     global errorInfo errorCode
     prefix_nick
@@ -1388,7 +1389,7 @@ def_ucmd delmsg {
        1 { ucmdr {} {} "deletes your $ndel message(s) from $senders." }
        default {
            ucmdr {} {} "deletes your $ndel message(s) from\
- [lreplace $senders end end] and [lindex $senders end]."
+ [lreplace $senders end end] and/or [lindex $senders end]."
        }
     }
 }
@@ -1397,6 +1398,11 @@ def_ucmd tellme {
     prefix_nick
     ta_nomore
     check_notonchan
+    manyset [msgsdb_get $n tellsec] sec
+    switch -exact $sec {
+       refuse { ucmdr "But, you asked me to refuse messages for you !" {} }
+       mailto { ucmdr "But, you asked me to mail your messages to you !" {} }
+    }
     switch -exact [tell_event [irctolower $n] tellme] {
        ERROR - INVALID { ucmdr {} {is ill.  Help!} }
        nomsgs { ucmdr {You have no messages.} {} }
@@ -1720,6 +1726,7 @@ def_setting tellme {
     }
 } {
     set setting [string tolower [ta_word]]
+    set nl [irctolower $n]
     switch -exact $setting {
        insecure {
            tellme_setting_sec_simple
@@ -1737,13 +1744,14 @@ def_setting tellme {
        mailto {
            tellme_setting_neednomsgs
             
-           if {![string length [set u [nickdb_get_username $n]]]} {
+           upvar #0 nick_username($nl) nu
+           if {!([info exists nu] && [string length $nu])} {
                usererror \
  "Sorry, you must register securely to have your messages mailed\
  (to prevent the use of this feature for spamming).  See `help register'."
            }
            set sr sec
-           set v [list mailto [ta_word] $u]
+           set v [list mailto [ta_word] $nu]
        }
        unreliable - pester - remind {
            manyset [nickdb_get $n tellsec] sec
@@ -1774,7 +1782,7 @@ def_setting tellme {
        }
     }
     nickdb_set $n tell$sr $v
-    upvar #0 nick_telling([irctolower $n]) telling
+    upvar #0 nick_telling($nl) telling
     catch { unset telling }
     ucmdr [tellme_${sr}_desc $v $n] {}
 }
index 6c6f81d0c26314d8b67d5da7e2b172d425acafdb..925eed3000e3d0be993503258a4fd4b3988d39fc 100644 (file)
@@ -70,6 +70,10 @@ proc def_ucmd {cmdname 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]
 }