Fixed msgcat import and missing variables

This commit is contained in:
Teh PeGaSuS
2026-03-03 17:39:08 +01:00
parent d3202751b8
commit e7bda2b41d
+134 -129
View File
@@ -11,6 +11,9 @@ namespace eval cmgmt {
# Available languages: en (English)
variable locale "en"
# Directory where the language files are located
variable lang_dir "scripts/cmgmt_langs"
# Trigger to be used
variable trigger "@"
@@ -97,10 +100,12 @@ namespace eval cmgmt {
#
# If you touch the code below and then complain the script "suddenly stopped working" I'll touch you at night.
# ----------
package require msgcat
namespace import msgcat::mc
msgcat::mclocale $::cmgmt::locale
msgcat::mcload [file join [file dirname [info script]] cmgmt_langs]
if { [catch { package require msgcat }] } {
putloglev o * "\[Channel Management\] This script needs msgcat package to work. The script cannot be loaded"
return
}
::msgcat::mclocale $::cmgmt::locale
::msgcat::mcload [file join $cmgmt::lang_dir]
# ----------
# Script name and author
@@ -113,29 +118,29 @@ namespace eval cmgmt {
### Pub Ban
proc ban_pub {nick uhost hand chan text} {
if {![matchattr $hand o|o $chan]} {
putserv "NOTICE $nick :[format [mc error.no.access] $nick]"
putserv "NOTICE $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 0]
if {$target eq ""} {
putserv "PRIVMSG $chan :[format [mc error.syntax] $::cmgmt::trigger]ban <nick>"
putserv "PRIVMSG $chan :[format [::msgcat::mc error.syntax] $::cmgmt::trigger]ban <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $chan :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $chan :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
if {$target eq $::botnick} {
putkick $chan $nick [mc revenge.kick]
putkick $chan $nick [::msgcat::mc revenge.kick]
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "NOTICE $nick :[format [mc protected.user] $target]"
putserv "NOTICE $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
@@ -143,7 +148,7 @@ namespace eval cmgmt {
foreach pmask $::cmgmt::protectMasks {
if {[matchstr $pmask "${target}!$bhost"] || [matchstr "${target}!$bhost" $pmask]} {
putserv "NOTICE $nick :[format [mc protected.user] $target]"
putserv "NOTICE $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
}
@@ -154,39 +159,39 @@ namespace eval cmgmt {
set banmask [maskhost ${target}![getchanhost $target $chan] $::cmgmt::banMask]
}
newchanban $chan $banmask $nick $::cmgmt::banReason 0
newchanban $chan $banmask $nick [::msgcat::mc ban.reason] 0
pushmode $chan +b $banmask
putkick $chan $target $::cmgmt::banReason
putserv "PRIVMSG $chan :[format [mc ban.added] $banmask $chan]"
putkick $chan $target [::msgcat::mc ban.reason]
putserv "PRIVMSG $chan :[format [::msgcat::mc ban.added] $banmask $chan]"
return 0
}
### Pub Tban
proc tban_pub {nick uhost hand chan text} {
if {![matchattr $hand o|o $chan]} {
putserv "NOTICE $nick :[format [mc error.no.access] $nick]"
putserv "NOTICE $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 0]
if {$target eq ""} {
putserv "PRIVMSG $chan :[format [mc error.syntax] $::cmgmt::trigger]tban <nick>"
putserv "PRIVMSG $chan :[format [::msgcat::mc error.syntax] $::cmgmt::trigger]tban <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $chan :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $chan :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
if {$target eq $::botnick} {
putkick $chan $nick [mc revenge.kick]
putkick $chan $nick [::msgcat::mc revenge.kick]
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "NOTICE $nick :[format [mc protected.user] $target]"
putserv "NOTICE $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
@@ -194,7 +199,7 @@ namespace eval cmgmt {
foreach pmask $::cmgmt::protectMasks {
if {[matchstr $pmask "${target}!$bhost"] || [matchstr "${target}!$bhost" $pmask]} {
putserv "NOTICE $nick :[format [mc protected.user] $target]"
putserv "NOTICE $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
}
@@ -205,67 +210,67 @@ namespace eval cmgmt {
set banmask [maskhost ${target}![getchanhost $target $chan] $::cmgmt::banMask]
}
newchanban $chan $banmask $nick $::cmgmt::tBanReason $::cmgmt::tBanDuration
newchanban $chan $banmask $nick [::msgcat::mc temp.ban.reason] $::cmgmt::tBanDuration
pushmode $chan +b $banmask
putkick $chan $target $::cmgmt::tBanReason
putserv "PRIVMSG $chan :[format [mc tmp.ban.added] $banmask $chan]"
putkick $chan $target [::msgcat::mc temp.ban.reason]
putserv "PRIVMSG $chan :[format [::msgcat::mc tmp.ban.added] $banmask $chan]"
return 0
}
### Pub Kick
proc kick_pub {nick uhost hand chan text} {
if {![matchattr $hand o|o $chan]} {
putserv "NOTICE $nick :[format [mc error.no.access] $nick]"
putserv "NOTICE $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 0]
if {$target eq ""} {
putserv "PRIVMSG $chan :[format [mc error.syntax] $::cmgmt::trigger]kick <nick>"
putserv "PRIVMSG $chan :[format [::msgcat::mc error.syntax] $::cmgmt::trigger]kick <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $chan :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $chan :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
if {$target eq $::botnick} {
putkick $chan $nick [mc revenge.kick]
putkick $chan $nick [::msgcat::mc revenge.kick]
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "NOTICE $nick :[format [mc protected.user] $target]"
putserv "NOTICE $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
putkick $chan $target $::cmgmt::kickReason
putkick $chan $target [::msgcat::mc kick.reason]
return 0
}
### Pub Voice
proc voice_pub {nick uhost hand chan text} {
if {![matchattr $hand o|o $chan]} {
putserv "NOTICE $nick :[format [mc error.no.access] $nick]"
putserv "NOTICE $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 0]
if {$target eq ""} {
putserv "PRIVMSG $chan :[format [mc error.syntax] $::cmgmt::trigger]voice <nick>"
putserv "PRIVMSG $chan :[format [::msgcat::mc error.syntax] $::cmgmt::trigger]voice <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $chan :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $chan :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "NOTICE $nick :[format [mc protected.user] $target]"
putserv "NOTICE $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
@@ -276,24 +281,24 @@ namespace eval cmgmt {
### Pub Devoice
proc devoice_pub {nick uhost hand chan text} {
if {![matchattr $hand o|o $chan]} {
putserv "NOTICE $nick :[format [mc error.no.access] $nick]"
putserv "NOTICE $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 0]
if {$target eq ""} {
putserv "PRIVMSG $chan :[format [mc error.syntax] $::cmgmt::trigger]devoice <nick>"
putserv "PRIVMSG $chan :[format [::msgcat::mc error.syntax] $::cmgmt::trigger]devoice <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $chan :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $chan :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "NOTICE $nick :[format [mc protected.user] $target]"
putserv "NOTICE $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
@@ -304,39 +309,39 @@ namespace eval cmgmt {
### Pub Unban
proc unban_pub {nick uhost hand chan text} {
if {![matchattr $hand o|o $chan]} {
putserv "NOTICE $nick :[format [mc error.no.access] $nick]"
putserv "NOTICE $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set banmask [lindex [split $text] 0]
if {$banmask eq ""} {
putserv "PRIVMSG $chan :[format [mc error.syntax] $::cmgmt::trigger]unban <mask>"
putserv "PRIVMSG $chan :[format [::msgcat::mc error.syntax] $::cmgmt::trigger]unban <mask>"
return 0
}
if {![isban $banmask $chan]} {
putserv "PRIVMSG $chan :[format [mc not.ban.mask] $banmask $chan]"
putserv "PRIVMSG $chan :[format [::msgcat::mc not.ban.mask] $banmask $chan]"
return 0
}
killchanban $chan $banmask
pushmode $chan -b $banmask
putserv "PRIVMSG $chan :[format [mc ban.removed] $banmask $chan]"
putserv "PRIVMSG $chan :[format [::msgcat::mc ban.removed] $banmask $chan]"
return 0
}
### Pub Banlist
proc banlist_pub {nick uhost hand chan text} {
if {![matchattr $hand o|o $chan]} {
putserv "NOTICE $nick :[format [mc error.no.access] $nick]"
putserv "NOTICE $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set cbans [banlist $chan]
set cbans [lsearch -all -inline -not -index 1 $cbans "EXTBAN"]
if {[llength $cbans] == 0} {
putserv "PRIVMSG $chan :[format [mc banlist.empty] $chan]"
putserv "PRIVMSG $chan :[format [::msgcat::mc banlist.empty] $chan]"
return 0
}
@@ -345,7 +350,7 @@ namespace eval cmgmt {
set blist [open $filename "w"]
set i 1
puts $blist "[format [mc banlist.open] $chan $bancount]"
puts $blist "[format [::msgcat::mc banlist.open] $chan $bancount]"
puts $blist ""
foreach botban $cbans {
@@ -359,25 +364,25 @@ namespace eval cmgmt {
set tstamp [lindex $botban 3]
set date [clock format $tstamp -format "%d/%m/%Y - %H:%M:%S"]
set creator [lindex $botban end]
puts $blist "\[${i}\] [format [mc banlist.format] $banmask $freason $creator $date]"
puts $blist "\[${i}\] [format [::msgcat::mc banlist.format] $banmask $freason $creator $date]"
puts $blist ""
incr i
}
puts $blist "[format [mc banlist.end] $chan]"
puts $blist "[format [::msgcat::mc banlist.end] $chan]"
puts $blist ""
puts $blist "[format [mc banlist.explain] $::cmgmt::trigger]unban <banmask>"
puts $blist "[format [::msgcat::mc banlist.explain] $::cmgmt::trigger]unban <banmask>"
close $blist
if {[catch {
set result [exec cat $filename | {*}$::cmgmt::upCommand]
} err]} {
putserv "PRIVMSG $chan :[format [mc banlist.upload.fail] $err]"
putserv "PRIVMSG $chan :[format [::msgcat::mc banlist.upload.fail] $err]"
file delete $filename
return 0
}
putserv "PRIVMSG $chan :[format [mc banlist.url] $chan $result]"
putserv "PRIVMSG $chan :[format [::msgcat::mc banlist.url] $chan $result]"
file delete $filename
return 0
}
@@ -385,7 +390,7 @@ namespace eval cmgmt {
### Pub Autoadd
proc autoban_pub {nick uhost hand chan text} {
if {![matchattr $hand o|o $chan]} {
putserv "NOTICE $nick :[format [mc error.no.access] $nick]"
putserv "NOTICE $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
@@ -394,22 +399,22 @@ namespace eval cmgmt {
switch $option {
on {
if {[channel get $chan addBans]} {
putserv "PRIVMSG $chan :[format [mc autoadd.enabled] $chan]"
putserv "PRIVMSG $chan :[format [::msgcat::mc autoadd.enabled] $chan]"
return 0
} else {
channel set $chan +addBans
putserv "PRIVMSG $chan :[format [mc autoadd.enable] $chan]"
putserv "PRIVMSG $chan :[format [::msgcat::mc autoadd.enable] $chan]"
return 0
}
}
off {
if {![channel get $chan addBans]} {
putserv "PRIVMSG $chan :[format [mc autoadd.disabled] $chan]"
putserv "PRIVMSG $chan :[format [::msgcat::mc autoadd.disabled] $chan]"
return 0
} else {
channel set $chan -addBans
putserv "PRIVMSG $chan :[format [mc autoadd.disable] $chan]"
putserv "PRIVMSG $chan :[format [::msgcat::mc autoadd.disable] $chan]"
return 0
}
}
@@ -420,12 +425,12 @@ namespace eval cmgmt {
} else {
set turned "disabled"
}
putserv "PRIVMSG $chan :[format [mc autoadd.status] $turned $chan]"
putserv "PRIVMSG $chan :[format [::msgcat::mc autoadd.status] $turned $chan]"
return 0
}
default {
putserv "PRIVMSG $chan :[format [mc error.syntax] $::cmgmt::trigger]autoadd <on/off/status>"
putserv "PRIVMSG $chan :[format [::msgcat::mc error.syntax] $::cmgmt::trigger]autoadd <on/off/status>"
return 0
}
}
@@ -435,11 +440,11 @@ namespace eval cmgmt {
### Pub OPcmds
proc opcmds_pub {nick uhost hand chan text} {
if {![matchattr $hand o|o $chan]} {
putserv "NOTICE $nick :[format [mc error.no.access] $nick]"
putserv "NOTICE $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
putserv "PRIVMSG $chan :[format [mc cmgmt.cmds] $::cmgmt::trigger]"
putserv "PRIVMSG $chan :[format [::msgcat::mc cmgmt.cmds] $::cmgmt::trigger]"
return 0
}
@@ -451,39 +456,39 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] ban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] ban <#chan> <nick>"
return 0
}
if {![validchan $chan]} {
putserv "PRIVMSG $nick :[format [mc bot.not.onchan] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc bot.not.onchan] $chan]"
return 0
}
if {![matchattr $hand o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc error.no.access] $nick]"
putserv "PRIVMSG $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 1]
if {$target eq ""} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] ban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] ban <#chan> <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $nick :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
if {$target eq $::botnick} {
putkick $chan $nick [mc revenge.kick]
putkick $chan $nick [::msgcat::mc revenge.kick]
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc protected.user] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
@@ -491,7 +496,7 @@ namespace eval cmgmt {
foreach pmask $::cmgmt::protectMasks {
if {[matchstr $pmask "${target}!$bhost"] || [matchstr "${target}!$bhost" $pmask]} {
putserv "PRIVMSG $nick :[format [mc protected.user] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
}
@@ -502,10 +507,10 @@ namespace eval cmgmt {
set banmask [maskhost ${target}![getchanhost $target $chan] $::cmgmt::banMask]
}
newchanban $chan $banmask $nick $::cmgmt::banReason 0
newchanban $chan $banmask $nick [::msgcat::mc ban.reason] 0
pushmode $chan +b $banmask
putkick $chan $target $::cmgmt::banReason
putserv "PRIVMSG $nick :[format [mc ban.added] $banmask $chan]"
putkick $chan $target [::msgcat::mc ban.reason]
putserv "PRIVMSG $nick :[format [::msgcat::mc ban.added] $banmask $chan]"
return 0
}
@@ -514,39 +519,39 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] tban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] tban <#chan> <nick>"
return 0
}
if {![validchan $chan]} {
putserv "PRIVMSG $nick :[format [mc bot.not.onchan] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc bot.not.onchan] $chan]"
return 0
}
if {![matchattr $hand o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc error.no.access] $nick]"
putserv "PRIVMSG $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 1]
if {$target eq ""} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] tban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] tban <#chan> <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $nick :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
if {$target eq $::botnick} {
putkick $chan $nick [mc revenge.kick]
putkick $chan $nick [::msgcat::mc revenge.kick]
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc protected.user] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
@@ -554,7 +559,7 @@ namespace eval cmgmt {
foreach pmask $::cmgmt::protectMasks {
if {[matchstr $pmask "${target}!$bhost"] || [matchstr "${target}!$bhost" $pmask]} {
putserv "PRIVMSG $nick :[format [mc protected.user] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
}
@@ -565,10 +570,10 @@ namespace eval cmgmt {
set banmask [maskhost ${target}![getchanhost $target $chan] $::cmgmt::banMask]
}
newchanban $chan $banmask $nick $::cmgmt::tBanReason $::cmgmt::tBanDuration
newchanban $chan $banmask $nick [::msgcat::mc temp.ban.reason] $::cmgmt::tBanDuration
pushmode $chan +b $banmask
putkick $chan $target $::cmgmt::tBanReason
putserv "PRIVMSG $nick :[format [mc tmp.ban.added] $banmask $chan]"
putkick $chan $target [::msgcat::mc temp.ban.reason]
putserv "PRIVMSG $nick :[format [::msgcat::mc tmp.ban.added] $banmask $chan]"
return 0
}
@@ -577,42 +582,42 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] kick <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] kick <#chan> <nick>"
return 0
}
if {![validchan $chan]} {
putserv "PRIVMSG $nick :[format [mc bot.not.onchan] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc bot.not.onchan] $chan]"
return 0
}
if {![matchattr $hand o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc error.no.access] $nick]"
putserv "PRIVMSG $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 1]
if {$target eq ""} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] kick <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] kick <#chan> <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $nick :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
if {$target eq $::botnick} {
putkick $chan $nick [mc revenge.kick]
putkick $chan $nick [::msgcat::mc revenge.kick]
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc protected.user] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc protected.user] $target]"
return 0
}
putkick $chan $target $::cmgmt::kickReason
putkick $chan $target [::msgcat::mc kick.reason]
return 0
}
@@ -621,29 +626,29 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] voice <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] voice <#chan> <nick>"
return 0
}
if {![validchan $chan]} {
putserv "PRIVMSG $nick :[format [mc bot.not.onchan] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc bot.not.onchan] $chan]"
return 0
}
if {![matchattr $hand o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc error.no.access] $nick]"
putserv "PRIVMSG $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 1]
if {$target eq ""} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] voice <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] voice <#chan> <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $nick :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
@@ -656,29 +661,29 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] devoice <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] devoice <#chan> <nick>"
return 0
}
if {![validchan $chan]} {
putserv "PRIVMSG $nick :[format [mc bot.not.onchan] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc bot.not.onchan] $chan]"
return 0
}
if {![matchattr $hand o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc error.no.access] $nick]"
putserv "PRIVMSG $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set target [lindex [split $text] 1]
if {$target eq ""} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] devoice <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] devoice <#chan> <nick>"
return 0
}
if {![onchan $target $chan]} {
putserv "PRIVMSG $nick :[format [mc not.on.chan] $target]"
putserv "PRIVMSG $nick :[format [::msgcat::mc not.on.chan] $target $chan]"
return 0
}
@@ -691,35 +696,35 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] unban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] unban <#chan> <nick>"
return 0
}
if {![validchan $chan]} {
putserv "PRIVMSG $nick :[format [mc bot.not.onchan] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc bot.not.onchan] $chan]"
return 0
}
if {![matchattr $hand o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc error.no.access] $nick]"
putserv "PRIVMSG $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set banmask [lindex [split $text] 1]
if {$banmask eq ""} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] unban <#chan> <mask>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] unban <#chan> <mask>"
return 0
}
if {![isban $banmask $chan]} {
putserv "PRIVMSG $nick :[format [mc not.ban.mask] $banmask $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc not.ban.mask] $banmask $chan]"
return 0
}
killchanban $chan $banmask
pushmode $chan -b $banmask
putserv "PRIVMSG $nick :[format [mc ban.removed] $banmask $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc ban.removed] $banmask $chan]"
return 0
}
@@ -728,24 +733,24 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] unban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] unban <#chan> <nick>"
return 0
}
if {![validchan $chan]} {
putserv "PRIVMSG $nick :[format [mc bot.not.onchan] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc bot.not.onchan] $chan]"
return 0
}
if {![matchattr $hand o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc error.no.access] $nick]"
putserv "PRIVMSG $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
set cbans [banlist $chan]
set cbans [lsearch -all -inline -not -index 1 $cbans "EXTBAN"]
if {[llength $cbans] == 0} {
putserv "PRIVMSG $nick :[format [mc banlist.empty] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc banlist.empty] $chan]"
return 0
}
@@ -754,7 +759,7 @@ namespace eval cmgmt {
set blist [open $filename "w"]
set i 1
puts $blist "[format [mc banlist.open] $chan $bancount]"
puts $blist "[format [::msgcat::mc banlist.open] $chan $bancount]"
puts $blist ""
foreach botban $cbans {
@@ -768,25 +773,25 @@ namespace eval cmgmt {
set tstamp [lindex $botban 3]
set date [clock format $tstamp -format "%d/%m/%Y - %H:%M:%S"]
set creator [lindex $botban end]
puts $blist "\[${i}\] [format [mc banlist.format] $banmask $freason $creator $date]"
puts $blist "\[${i}\] [format [::msgcat::mc banlist.format] $banmask $freason $creator $date]"
puts $blist ""
incr i
}
puts $blist "[format [mc banlist.end] $chan]"
puts $blist "[format [::msgcat::mc banlist.end] $chan]"
puts $blist ""
puts $blist "[format [mc pm.banlist.explain] $::botnick] unban <banmask>"
puts $blist "[format [::msgcat::mc pm.banlist.explain] $::botnick] unban <banmask>"
close $blist
if {[catch {
set result [exec cat $filename | {*}$::cmgmt::upCommand]
} err]} {
putserv "PRIVMSG $nick :[format [mc banlist.upload.fail] $err]"
putserv "PRIVMSG $nick :[format [::msgcat::mc banlist.upload.fail] $err]"
file delete $filename
return 0
}
putserv "PRIVMSG $nick :[format [mc banlist.url] $chan $result]"
putserv "PRIVMSG $nick :[format [::msgcat::mc banlist.url] $chan $result]"
file delete $filename
return 0
}
@@ -796,17 +801,17 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] autoadd <#chan> <on/off/status>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] autoadd <#chan> <on/off/status>"
return 0
}
if {![validchan $chan]} {
putserv "PRIVMSG $nick :[format [mc bot.not.onchan] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc bot.not.onchan] $chan]"
return 0
}
if {![matchattr $hand o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc error.no.access] $nick]"
putserv "PRIVMSG $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
@@ -815,22 +820,22 @@ namespace eval cmgmt {
switch $option {
on {
if {[channel get $chan addBans]} {
putserv "PRIVMSG $nick :[format [mc autoadd.enabled] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc autoadd.enabled] $chan]"
return 0
} else {
channel set $chan +addBans
putserv "PRIVMSG $nick :[format [mc autoadd.enable] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc autoadd.enable] $chan]"
return 0
}
}
off {
if {![channel get $chan addBans]} {
putserv "PRIVMSG $nick :[format [mc autoadd.disabled] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc autoadd.disabled] $chan]"
return 0
} else {
channel set $chan -addBans
putserv "PRIVMSG $nick :[format [mc autoadd.disable] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc autoadd.disable] $chan]"
return 0
}
}
@@ -841,12 +846,12 @@ namespace eval cmgmt {
} else {
set turned "disabled"
}
putserv "PRIVMSG $nick :[format [mc autoadd.status] $turned $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc autoadd.status] $turned $chan]"
return 0
}
default {
putserv "PRIVMSG $nick :[mc pm.error.syntax] autoadd <#chan> <on/off/status>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] autoadd <#chan> <on/off/status>"
return 0
}
}
@@ -858,21 +863,21 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[mc pm.error.syntax] opcmds <#chan>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] opcmds <#chan>"
return 0
}
if {![validchan $chan]} {
putserv "PRIVMSG $nick :[format [mc bot.not.onchan] $chan]"
putserv "PRIVMSG $nick :[format [::msgcat::mc bot.not.onchan] $chan]"
return 0
}
if {![matchattr $hand o|o $chan]} {
putserv "PRIVMSG $nick :[format [mc error.no.access] $nick]"
putserv "PRIVMSG $nick :[format [::msgcat::mc error.no.access] $nick]"
return 0
}
putserv "PRIVMSG $nick :[mc msg.cmgmt.cmds] "
putserv "PRIVMSG $nick :[::msgcat::mc msg.cmgmt.cmds] "
return 0
}
@@ -882,7 +887,7 @@ namespace eval cmgmt {
# ----------
proc abans {nick uhost hand chan mode target} {
# putlog "DEBUG autobans: nick=$nick chan=$chan mode=$mode target=$target"
set banReason "[mc ban.reason] \(auto-added\)"
set banReason "[::msgcat::mc ban.reason] \(auto-added\)"
if {$nick ne "$::botnick" && $nick ni $::cmgmt::noAddNicks} {
foreach pmask $::cmgmt::protectMasks {
@@ -923,7 +928,7 @@ namespace eval cmgmt {
return 0
} else {
newchanban $chan $target $nick $banReason 0
putserv "NOTICE @$chan :[format [mc auto.added] $target $chan]"
putserv "NOTICE @$chan :[format [::msgcat::mc auto.added] $target $chan]"
return 0
}
}
@@ -942,7 +947,7 @@ namespace eval cmgmt {
return 0
} elseif {[isban $target $chan]} {
killchanban $chan $target
putserv "NOTICE @$chan :[format [mc auto.removed] $target $chan]"
putserv "NOTICE @$chan :[format [::msgcat::mc auto.removed] $target $chan]"
return 0
}
}