From 37ad12bae5d4079ec854f36acc4b0e3b56cc6f0a Mon Sep 17 00:00:00 2001 Message-Id: <37ad12bae5d4079ec854f36acc4b0e3b56cc6f0a.1715776442.git.mdw@distorted.org.uk> From: Mark Wooding Date: Thu, 14 Feb 2002 19:16:53 +0000 Subject: [PATCH] Improvements. Organization: Straylight/Edgeware From: Ian Jackson --- bot.tcl | 16 ++++++++++++---- parsecmd.tcl | 4 ++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/bot.tcl b/bot.tcl index b5abdda..c473ce1 100755 --- 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] {} } diff --git a/parsecmd.tcl b/parsecmd.tcl index 6c6f81d..925eed3 100644 --- a/parsecmd.tcl +++ b/parsecmd.tcl @@ -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] } -- [mdw]