Update Chanban/chanban.tcl

Protect bot/chan ops from commands
This commit is contained in:
Teh PeGaSuS
2026-03-01 23:41:26 +01:00
parent 235af1d7bc
commit ae8854cbc8
+33
View File
@@ -106,6 +106,7 @@ namespace eval cmgmt {
# Auto add bans
# ----------
proc abans {nick uhost hand chan mode target} {
# putlog "DEBUG autobans: nick=$nick chan=$chan mode=$mode target=$target"
set hostmask [maskhost ${nick}![getchanhost $nick $chan] $::cmgmt::noAddType]
set banReason "$::cmgmt::banReason \(auto-added\)"
@@ -128,6 +129,7 @@ namespace eval cmgmt {
}
proc rbans {nick uhost hand chan mode target} {
# putlog "DEBUG autobans: nick=$nick chan=$chan mode=$mode target=$target"
if {![channel get $chan addBans]} {
return 0
}
@@ -151,6 +153,7 @@ namespace eval cmgmt {
# and make them sticky so the bot doesn't remove them
bind cron * "*/5 * * * *" ::cmgmt::addextbans
proc addextbans {minute hour day month weekday} {
# putlog "Adding existing extbans to banlist"
foreach chan [channels] {
foreach cban [chanbans $chan] {
set mask [lindex [split $cban] 0]
@@ -189,6 +192,11 @@ namespace eval cmgmt {
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "NOTICE $nick :You can't use this command on $target."
return 0
}
set bhost [string trim [getchanhost $target $chan] ~]
if {[matchstr "uid*" $bhost] || [matchstr "sid*" $bhost]} {
@@ -228,6 +236,11 @@ namespace eval cmgmt {
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "NOTICE $nick :You can't use this command on $target."
return 0
}
set bhost [string trim [getchanhost $target $chan] ~]
if {[matchstr "uid*" $bhost] || [matchstr "sid*" $bhost]} {
@@ -267,6 +280,11 @@ namespace eval cmgmt {
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "NOTICE $nick :You can't use this command on $target."
return 0
}
putkick $chan $target $::cmgmt::kickReason
return 0
}
@@ -452,6 +470,11 @@ namespace eval cmgmt {
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "PRIVMSG $nick :You can't use this command on $target."
return 0
}
set bhost [string trim [getchanhost $target $chan] ~]
if {[matchstr "uid*" $bhost] || [matchstr "sid*" $bhost]} {
@@ -503,6 +526,11 @@ namespace eval cmgmt {
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "PRIVMSG $nick :You can't use this command on $target."
return 0
}
set bhost [string trim [getchanhost $target $chan] ~]
if {[matchstr "uid*" $bhost] || [matchstr "sid*" $bhost]} {
@@ -553,6 +581,11 @@ namespace eval cmgmt {
putkick $chan $nick $::cmgmt::revengeKick
return 0
}
if {[isop $target $chan] || [matchattr [nick2hand $target] o|o $chan]} {
putserv "PRIVMSG $nick :You can't use this command on $target."
return 0
}
putkick $chan $target $::cmgmt::kickReason
return 0
}