I use this script in mIRC 7.55 to mute disruptive users in our channels by selecting the nick in nick list and execute from the popup list.
Script works fine as long it is left to run time down and then unmute the user. allowing him to talk in the channel again.

I have added lines at the bottom to unmute the user before the timer is run-down but is does not remove the ban. Any help will be appreciated

Feel free to use the script if you have a need for this.

Quote

menu nicklist {
..Day mute $1 $+ :{
set %Mute.Nick $1
set %Mute.Channel $chan
set %MuteMSG $$?"Reason?"
msg $chan 4.:[10 $+ %Mute.Nick $+ 4]:. .:[You are muted]:. .:[Reason is:10 %MUTEMSG $+ 4]:. Lodge complaint email to xxxx@gmail.com with reason, date and time..
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 $$?"Minutes to mute %Mute.Nick ?"
if (%Mute.Time isnum) {
set %MuteMSG $$?"Reason is?"
msg $chan 4.:[10 $+ %Mute.Nick $+ 4]:. .:you are muted for 10 %Mute.Time 4minute ]:. .:[Reason is:10 %MUTEMSG $+ 4]:. Lodge complaint email to xxxx@gmail.com with reason, date and time..
.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 are free to talk again. In future please listen to Ops4]:. .:[2The reason 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)
.timermute5 1 $calc(%Mute.Time * 60) unset %Mute*
}
else { echo -a 4.:[Error:1 Please supply time in minutes!4]:. }
}

I need this portion to unmute the user before the specified time but the ban stays in the channel ban list as: -b m:*!*@zairc-7ss.hhv.102.212.IP and must be removed manually

..Remove mute $1 $+
if ($1 == %Mute.Nick) {
mode $chan -b %Mute.Nick m: $+ $address(%Mute.Nick,2)
msg $chan 10 %Mute.Nick $+ , 2 You were unmuted earlier. Please behave from now on. 4If you want to lodge a complaint email to xxxx@gmail.com with the reason, date and time..
unset %Mute*
timermute1 off
timermute2 off
timermute3 off
timermute4 off
timermute5 off
}
else { echo -a 4.:[Error:1 User was not muted!4]:. }
}
}



Thank in advance for any help/