Update Chanban/cmgmt.tcl

Add optional reason for addban, ban, tban and kick command
This commit is contained in:
2026-06-04 11:24:33 +02:00
parent 1f8ed8da44
commit cacd906170
+66 -26
View File
@@ -45,7 +45,7 @@ namespace eval cmgmt {
# Masks to protect from bans, always on the format *!ident@hostname
variable protectMasks {
*!*@services.ptirc.org
*!*@services.libera.chat
}
# Nicks to ignore for auto adding bans
@@ -57,7 +57,7 @@ namespace eval cmgmt {
# Masks to ignore for auto adding bans
variable noAddMasks {
*!*@services.ptirc.org
*!*@services.libera.chat
}
# ----------
@@ -145,9 +145,14 @@ namespace eval cmgmt {
}
set banmask [lindex [split $text] 0]
set reason [join [lrange [split $text] 1 end] " "]
if {$reason eq ""} {
set reason [::msgcat::mc ban.reason]
}
if {$banmask eq ""} {
putserv "PRIVMSG $chan :[::msgcat::mc error.syntax $::cmgmt::trigger]addban <banmask>"
putserv "PRIVMSG $chan :[::msgcat::mc error.syntax $::cmgmt::trigger]addban <banmask> \[reason\]"
return 0
}
@@ -180,7 +185,7 @@ namespace eval cmgmt {
}
}
}
newchanban $chan $banmask $nick [::msgcat::mc ban.reason] 0
newchanban $chan $banmask $nick $reason 0
pushmode $chan +b $banmask
putserv "PRIVMSG $chan :[::msgcat::mc ban.added $banmask $chan]"
return 0
@@ -194,9 +199,14 @@ namespace eval cmgmt {
}
set target [lindex [split $text] 0]
set reason [join [lrange [split $text] 1 end] " "]
if {$reason eq ""} {
set reason [::msgcat::mc ban.reason]
}
if {$target eq ""} {
putserv "PRIVMSG $chan :[::msgcat::mc error.syntax $::cmgmt::trigger]ban <nick>"
putserv "PRIVMSG $chan :[::msgcat::mc error.syntax $::cmgmt::trigger]ban <nick> \[reason\]"
return 0
}
@@ -230,9 +240,9 @@ namespace eval cmgmt {
set banmask [maskhost ${target}![getchanhost $target $chan] $::cmgmt::banMask]
}
newchanban $chan $banmask $nick [::msgcat::mc ban.reason] 0
newchanban $chan $banmask $nick $reason 0
pushmode $chan +b $banmask
putkick $chan $target [::msgcat::mc ban.reason]
putkick $chan $target $reason
putserv "PRIVMSG $chan :[::msgcat::mc ban.added $banmask $chan]"
return 0
}
@@ -245,9 +255,14 @@ namespace eval cmgmt {
}
set target [lindex [split $text] 0]
set reason [join [lrange [split $text] 1 end] " "]
if {$reason eq ""} {
set reason [::msgcat::mc temp.ban.reason]
}
if {$target eq ""} {
putserv "PRIVMSG $chan :[::msgcat::mc error.syntax $::cmgmt::trigger]tban <nick>"
putserv "PRIVMSG $chan :[::msgcat::mc error.syntax $::cmgmt::trigger]tban <nick> \[reason\]"
return 0
}
@@ -281,9 +296,9 @@ namespace eval cmgmt {
set banmask [maskhost ${target}![getchanhost $target $chan] $::cmgmt::banMask]
}
newchanban $chan $banmask $nick [::msgcat::mc temp.ban.reason] $::cmgmt::tBanDuration
newchanban $chan $banmask $nick $reason $::cmgmt::tBanDuration
pushmode $chan +b $banmask
putkick $chan $target [::msgcat::mc temp.ban.reason]
putkick $chan $target $reason
putserv "PRIVMSG $chan :[::msgcat::mc tmp.ban.added $banmask $chan]"
return 0
}
@@ -296,9 +311,14 @@ namespace eval cmgmt {
}
set target [lindex [split $text] 0]
set reason [join [lrange [split $text] 1 end] " "]
if {$reason eq ""} {
set reason [::msgcat::mc kick.reason]
}
if {$target eq ""} {
putserv "PRIVMSG $chan :[::msgcat::mc error.syntax $::cmgmt::trigger]kick <nick>"
putserv "PRIVMSG $chan :[::msgcat::mc error.syntax $::cmgmt::trigger]kick <nick> \[reason\]"
return 0
}
@@ -317,7 +337,7 @@ namespace eval cmgmt {
return 0
}
putkick $chan $target [::msgcat::mc kick.reason]
putkick $chan $target $reason
return 0
}
@@ -724,7 +744,7 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] addban <#chan> <banmask>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] addban <#chan> <banmask> \[reason\]"
return 0
}
@@ -739,9 +759,14 @@ namespace eval cmgmt {
}
set banmask [lindex [split $text] 1]
set reason [join [lrange [split $text] 2 end] " "]
if {$reason eq ""} {
set reason [::msgcat::mc ban.reason]
}
if {$banmask eq ""} {
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] addban <#chan> <banmask>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] addban <#chan> <banmask> \[reason\]"
return 0
}
@@ -774,7 +799,7 @@ namespace eval cmgmt {
}
}
}
newchanban $chan $banmask $nick [::msgcat::mc ban.reason] 0
newchanban $chan $banmask $nick $reason 0
pushmode $chan +b $banmask
putserv "PRIVMSG $nick :[::msgcat::mc ban.added $banmask $chan]"
return 0
@@ -785,7 +810,7 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] ban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] ban <#chan> <nick> \[reason\]"
return 0
}
@@ -800,9 +825,14 @@ namespace eval cmgmt {
}
set target [lindex [split $text] 1]
set reason [join [lrange [split $text] 2 end] " "]
if {$reason eq ""} {
set reason [::msgcat::mc ban.reason]
}
if {$target eq ""} {
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] ban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] ban <#chan> <nick> \[reason\]"
return 0
}
@@ -836,9 +866,9 @@ namespace eval cmgmt {
set banmask [maskhost ${target}![getchanhost $target $chan] $::cmgmt::banMask]
}
newchanban $chan $banmask $nick [::msgcat::mc ban.reason] 0
newchanban $chan $banmask $nick $reason 0
pushmode $chan +b $banmask
putkick $chan $target [::msgcat::mc ban.reason]
putkick $chan $target $reason
putserv "PRIVMSG $nick :[::msgcat::mc ban.added $banmask $chan]"
return 0
}
@@ -848,7 +878,7 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] tban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] tban <#chan> <nick> \[reason\]"
return 0
}
@@ -863,9 +893,14 @@ namespace eval cmgmt {
}
set target [lindex [split $text] 1]
set reason [join [lrange [split $text] 2 end] " "]
if {$reason eq ""} {
set reason [::msgcat::mc temp.ban.reason]
}
if {$target eq ""} {
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] tban <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] tban <#chan> <nick> \[reason\]"
return 0
}
@@ -899,9 +934,9 @@ namespace eval cmgmt {
set banmask [maskhost ${target}![getchanhost $target $chan] $::cmgmt::banMask]
}
newchanban $chan $banmask $nick [::msgcat::mc temp.ban.reason] $::cmgmt::tBanDuration
newchanban $chan $banmask $nick $reason $::cmgmt::tBanDuration
pushmode $chan +b $banmask
putkick $chan $target [::msgcat::mc temp.ban.reason]
putkick $chan $target $reason
putserv "PRIVMSG $nick :[::msgcat::mc tmp.ban.added $banmask $chan]"
return 0
}
@@ -911,7 +946,7 @@ namespace eval cmgmt {
set chan [lindex [split $text] 0]
if {![matchstr "#*" $chan]} {
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] kick <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] kick <#chan> <nick> \[reason\]"
return 0
}
@@ -926,9 +961,14 @@ namespace eval cmgmt {
}
set target [lindex [split $text] 1]
set reason [join [lrange [split $text] 2 end] " "]
if {$reason eq ""} {
set reason [::msgcat::mc kick.reason]
}
if {$target eq ""} {
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] kick <#chan> <nick>"
putserv "PRIVMSG $nick :[::msgcat::mc pm.error.syntax] kick <#chan> <nick> \[reason\]"
return 0
}
@@ -946,7 +986,7 @@ namespace eval cmgmt {
putserv "PRIVMSG $nick :[::msgcat::mc protected.user $target]"
return 0
}
putkick $chan $target [::msgcat::mc kick.reason]
putkick $chan $target $reason
return 0
}