source irccore.tcl
source parsecmd.tcl
source stdhelp.tcl
+source userv.tcl
defset marktime_min 300
defset marktime_join_startdelay 5000
}
upvar #0 nick_username($nl) nu
- if {[info exists nu] && "$nu" == "[nickdb_get_username $nl]"} {
+ if {[info exists nu] && ![string compare $nu [nickdb_get_username $nl]]} {
append evstate i
} else {
append evstate u
" [showintervalsecs [expr {$now-$sentwhen}] 1] <$sender> $msg"
}
}
- if {"$rel" == "unreliable"} {
+ if {![string compare $rel "unreliable"]} {
tell_delete_msgs {} $nl
return toldunreliable
}
prefix_nick
set who [chanmode_arg]
recordlastseen_n $n "being nice to $who" 1
- if {"[irctolower $who]" == "[irctolower $nick]"} {
+ if {![ircnick_compare $who $nick]} {
set nlower [irctolower $n]
upvar #0 nick_unique($nlower) u
if {[chandb_exists $chan]} {
prefix_nick
set who [chanmode_arg]
recordlastseen_p $p "being mean to $who" 1
- if {"[irctolower $who]" == "[irctolower $nick]"} {
+ if {![ircnick_compare $who $nick]} {
set chandeop($chan) [list [clock seconds] $p]
}
}
set luser [irctolower $user]
set lchan [irctolower $chan]
if {![ischan $chan]} { error "not a channel" }
- if {"$luser" == "[irctolower $nick]"} {
+ if {![ircnick_compare $luser $nick]} {
leaving $lchan
} else {
upvar #0 nick_onchans($luser) oc
unset names_chans
}
-proc check_username {target} {
- if {
- [string length $target] > 8 ||
- [regexp {[^-0-9a-z]} $target] ||
- ![regexp {^[a-z]} $target]
- } { error "invalid username" }
-}
-
proc somedb__head {} {
uplevel 1 {
set idl [irctolower $id]
set l $def
}
foreach {tkey value} $l {
- if {"$tkey" == "$key"} { return $value }
+ if {![string compare $tkey $key]} { return $value }
}
error "unset setting $key"
}
error {channel mode must be * or match ([-+][imnpst]+)+}
}
chandb_set $chan mode $mode
- if {"$mode" == "*"} {
+ if {![string compare $mode "*"]} {
ucmdr "I won't ever change the mode of $chan." {}
} else {
ucmdr "Whenever I'm alone on $chan, I'll set the mode to $mode." {}
}
set ui [chandb_get $ltarget userinvite]
if {[catch {
- if {"$ui" == "pub" && !$onchan} {
+ if {![string compare $ui "pub"] && !$onchan} {
usererror "Invitations to $target must be made there with !invite."
}
if {"$ui" != "all"} {
by a user on the channel."
}
}
- if {"$ui" == "none"} {
+ if {[!string compare $ui "none"]} {
usererror "Sorry, I've not been authorised\
to invite people to $target."
}
} emsg]} {
- if {"$errorCode" == "BLIGHT USER" && [channel_ismanager $target $n]} {
+ if {![string compare $errorCode "BLIGHT USER"] &&
+ [channel_ismanager $target $n]} {
if {[catch {
nick_securitycheck 1
} emsg2]} {
- if {"$errorCode" == "BLIGHT USER"} {
+ if {![string compare $errorCode "BLIGHT USER"]} {
usererror "$emsg2 Therefore you can't use your\
channel manager privilege. $emsg"
} else {
proc nickdb_get_sec_effective {n} {
set l [nickdb_get $n tellsec]
set u [nickdb_get_username $n]
- if {"[lindex $l 0]" == "secure" && ![string length $u]} { set l insecure }
+ if {![string compare [lindex $l 0] "secure"] &&
+ ![string length $u]} { set l insecure }
return $l
}
}
proc tell_delete_msgs {lsenders lrecip} {
- set ninbound {}
+ set new_inbound {}
set ndel 0
foreach {s t m} [msgsdb_get $lrecip inbound] {
if {[llength $lsenders]} {
if {[lsearch -exact $lsenders [irctolower $s]] == -1} {
- lappend ninbound $s $t $m
+ lappend new_inbound $s $t $m
continue
}
}
set rsenders($s) 1
incr ndel
}
- msgsdb_set_maydelete $lrecip inbound $ninbound outbound
- if {![llength $ninbound]} {
+ msgsdb_set_maydelete $lrecip inbound $new_inbound outbound
+ if {![llength $new_inbound]} {
upvar #0 nick_telling($lrecip) telling
catch { unset telling }
}
foreach s [array names rsenders] {
- set noutbound {}
+ set new_outbound {}
foreach {r t c} [msgsdb_get $s outbound] {
- if {"[irctolower $r]" == "$lrecip"} continue
- lappend noutbound $r $t $c
+ if {![ircnick_compare $r $lrecip]} continue
+ lappend new_outbound $r $t $c
}
- msgsdb_set_maydelete $s outbound $noutbound inbound
+ msgsdb_set_maydelete $s outbound $new_outbound inbound
}
return $ndel
}
set noutbound {}
set found 0
foreach {recip time count} $outbound {
- if {"[irctolower $recip]" == "$ltarget"} {
+ if {![ircnick_compare $recip $ltarget]} {
incr count
set recip $ctarget
set found 1
}
proc marktime_desc {mt} {
- if {"$mt" == "off"} {
- return "I will not send you periodic messages."
- } elseif {"$mt" == "once"} {
- return "I will send you one informational message when I see you."
- } else {
- return "I'll send you a message every [showintervalsecs $mt 0]."
+ switch -exact $mt {
+ off {
+ return "I will not send you periodic messages."
+ }
+ once {
+ return "I will send you one informational message when I see you."
+ }
+ default {
+ return "I'll send you a message every [showintervalsecs $mt 0]."
+ }
}
}
set mt [string tolower [ta_word]]
ta_nomore
- if {"$mt" == "off" || "$mt" == "once"} {
- } else {
- set mt [parse_interval $mt $marktime_min]
+ switch -exact $mt {
+ off - once {
+ }
+ default {
+ set mt [parse_interval $mt $marktime_min]
+ }
}
nickdb_set $n marktime $mt
lnick_marktime_start [irctolower $n] "So:" 500 0
set every [ta_interval_optional 300 3600]
lappend v $every
}
- if {"$setting" == "remind"} {
+ if {![string compare $setting remind]} {
set within [ta_interval_optional 5 30]
if {$within > $every} {
error "remind interval must be at least time to respond"
set nlower [irctolower $ncase]
ta_nomore
set now [clock seconds]
- if {"$nlower" == "[irctolower $nick]"} {
+ if {![ircnick_compare $nlower $nick]} {
usererror "I am not self-aware."
} elseif {![info exists lastseen($nlower)]} {
set rstr "I've never seen $ncase."
if {[info exists lf]} { set oldvalue $lf } else { set oldvalue {} }
set lf [list [list $now $n $where]]
foreach v $oldvalue {
- if {"[irctolower [lindex $v 1]]" == "[irctolower $n]"} continue
+ if {![ircnick_compare [lindex $v 1] $n]} continue
lappend lf $v
}
ucmdr {} $rstr
proc lnick_marktime_reset {luser} {
set mt [nickdb_get $luser marktime]
- if {"$mt" == "off" || "$mt" == "once"} return
- lnick_marktime_doafter $luser "Time passes." [expr {$mt*1000}] 0
+ switch -exact $mt {
+ off - once { }
+ default {
+ lnick_marktime_doafter $luser "Time passes." [expr {$mt*1000}] 0
+ }
+ }
}
proc lnick_marktime_start {luser why ms mentiontold} {
set mt [nickdb_get $luser marktime]
- if {"$mt" == "off"} {
- lnick_marktime_cancel $luser
- if {$mentiontold} { after $ms [list lnick_checktold $luser] }
- } else {
- lnick_marktime_doafter $luser $why $ms $mentiontold
+ switch -exact $mt {
+ off {
+ lnick_marktime_cancel $luser
+ if {$mentiontold} { after $ms [list lnick_checktold $luser] }
+ }
+ default {
+ lnick_marktime_doafter $luser $why $ms $mentiontold
+ }
}
}