I am using this to mute disruptive users. Trouble is they then make a nuisance using notice or pvt msg other users. Is it at all possible to prevent that as well?

Quote:
menu nicklist {
Mute user

..Mute permanent $1 $+ :{
set %Mute.Nick $1
set %Mute.Channel $chan
set %MuteMSG $$?"Type your reason?"
msg $chan 4.:[10 $+ %Mute.Nick $+ 4]:. .:[You are muted]:. .:[Reason is:10 %MUTEMSG $+ 4]:.
mode $chan -vqaoh+b %Mute.Nick %Mute.Nick %Mute.Nick %Mute.Nick %Mute.Nick m: $+ $address(%Mute.Nick,2)
}

..Timed mute $1 $+ :{
set %Mute.Nick $1
set %Mute.Channel $chan
set %Mute.Time $$?"How many minutes do you want to mute %Mute.Nick ?"
if (%Mute.Time isnum) {
set %MuteMSG $$?"Type your reason?"
msg $chan 4.:[10 $+ %Mute.Nick $+ 4]:. .:[You are muted for 10 %Mute.Time 4minutes]:. .:[Reason:10 %MUTEMSG $+ 4]:.
.timermute1 1 $calc(%Mute.Time * 60) mode $chan -b $+ $iif(%Mute.Nick isavoice #,+v) m: $+ $address(%Mute.Nick,2) %Mute.Nick
mode $chan -vqaoh+b %Mute.Nick %Mute.Nick %Mute.Nick %Mute.Nick %Mute.Nick m: $+ $address(%Mute.Nick,2)

.timermute2 1 $calc(%Mute.Time * 60) msg $chan 10 %Mute.Nick 4.:[2You were unmuted. In future please listen4]:. .:[2Reason was :10 %MuteMSG $+ 4]:.
.timermute3 1 $calc(%Mute.Time * 60) mode $chan -b %Mute.Nick m: $+ $address(%Mute.Nick,2)
.timermute3 1 $calc(%Mute.Time * 60) mode $chan -b %Mute.Nick m: $+ $address(%Mute.Nick,2)
.timermute4 1 $calc(%Mute.Time * 60) notice %Mute.Nick 4If you are an ops type: 10 /hop 4 of10 /ns update
.timermute5 1 $calc(%Mute.Time * 60) unset %Mute*
}
else { echo -a 4.:[Error:1 Minutes must be numbers!4]:. }
}

..Unmute user $1 $+ :{
if ($1 == %Mute.Nick) {
; mode $chan +v-b %Mute.Nick m: $+ $address(%Mute.Nick,2)
mode $chan -b %Mute.Nick m: $+ $address(%Mute.Nick,2)
msg $chan 10 %Mute.Nick $+ , 2 You were unmuted earlier than planned. Please behave now.
notice %Mute.Nick 4If you are an ops type: 10 /hop 4 of10 /ns update
unset %Mute*
timermute1 off
timermute2 off
timermute3 off
timermute4 off
timermute5 off
}
else { echo -a 4.:[Error:1 No muted users!4]:. }
}
}

ON *:NICK:{
if ($nick == %Mute.Nick) {
set %Mute.Nick $newnick
}
}
ON *:JOIN:%Mute.Channel:{
if ($address($nick,2) == $address(%Mute.Nick,2)) {
.timerdeop 1 3 mode $chan -vqaoh $nick $nick $nick $nick $nick
set %Mute.Nick $nick
msg $chan 10 $nick $+ , 4Sorry not going to work.
}
}
ON *:VOICE:%Mute.Channel:{
if ($2 == %Mute.Nick) {
mode $chan -v $2
}
}
ON *:HELP:%Mute.Channel:{
if ($2 == %Mute.Nick) {
mode $chan -hv $2 $2
}
}
ON *:OP:%Mute.Channel:{
if ($2 == %Mute.Nick) {
mode $chan -ohv $2 $2 $2
}
}
on @1:RAWMODE:%Mute.Channel:{
if (+a isin $1) && ($2 == %Mute.Nick) {
mode $chan -aohv $2 $2 $2 $2
}
}
ON *:OWNER:%Mute.Channel:{
if ($2 == %Mute.Nick) {
mode $chan -qaohv $2 $2 $2 $2 $2
}
}