Update Chanban/chanban.tcl
Protect bot/chan ops from commands
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user