in the case of a normal ban like +b nick!ident@host it works fine
but on some servers it has extended bans like
muteban: +b ~q:nick!ident@host
or
muteban: +b m:nick!ident@host
is there a way to have it check for all these scenarios and devoice if banned nick has voice
using this at the moment:
Code: Select all
bind mode - "* +b" devoice-ban
proc devoice-ban {nick uhost hand chan mc ban} {
if {[isbotnick $nick] || ![botisop $chan]} { return }
foreach n [chanlist $chan] {
if {[string match -nocase $ban $n![getchanhost $n $chan]]} {
if {![botisop $chan]} { return 0 }
if {[isop $n $chan]} { return 0 }
if {[ishalfop $n $chan]} { return 0 }
if {[matchattr [nick2hand $n] fnmo|fnmo $chan]} { return 0 }
if {[isbotnick $n]} { return 0}
if {[isvoice $n $chan] && ![isop $n $chan] && ![ishalfop $n $chan] && ![matchattr [nick2hand $n] fnmo|fnmo $chan]} { pushmode $chan -v $n }
}
}
flushmode $chan
}
this devoices as well:
09:20:44 +[simo] Sets Mode on #opers to: +b *!*@33.34.104.17
09:20:45 @TCL-Tester Sets Mode on #opers to: -v Peachey
this doesnt devoice while nick is voiced
09:21:18 +[simo] Sets Mode on #opers to: +b m:*!*@33.34.104.17
thnx in advance gents.