Mute Script
Platform: mIRC
Published Oct 07, 2010
Updated Oct 09, 2010
While idling on a couple of average sized IRC networks, I began to notice that people had mute scripts that fail, so i got the idea to make a mute script that will track the nicknames, so they cannot bypass the mute. I know this script has a couple of flaws(One being that it also mutes clones of the muted user when they join), and the fact that it is limited to one nick/channel at a time, but it's still a begining ^_^
please feel free to leave ideas on how i can make it more practical/effective, or you can simply come visit me on my server: redirc.zapto.org (/server -m redirc.zapto.org -j #Main). ^_^
menu nicklist {
[-[-Mute-]-]
..[-[-Mute $1 $+ -]-]:{
set %Mute.Nick $1
set %Mute.Channel $chan
set %Mute.Time $$?"How many minutes do you want to mute %Mute.Nick for?"
if (%Mute.Time isnum) {
set %MuteMSG $$?"What do you want the mute message to be?"
msg $chan 4,1.:[9 $+ %Mute.Nick $+ 4]:. .:[11You have been muted for9 %Mute.Time 11minutes4]:. .:[11Reason:9 %MUTEMSG $+ 4]:.
.timermute 1 $calc(%Mute.Time * 60) mode $chan -b $+ $iif(%Mute.Nick isavoice #,+v) ~q: $+ $address(%Mute.Nick,2) %Mute.Nick
mode $chan -vqaoh+b %Mute.Nick %Mute.Nick %Mute.Nick %Mute.Nick %Mute.Nick ~q: $+ $address(%Mute.Nick,2)
.timermute 1 $calc(%Mute.Time * 60) msg $chan 4,1.:[9 $+ %Mute.Nick $+ 4]:. .:[11You have been unmuted. In future, please follow all the rules, and you will not be muted again4]:. .:[11The reason you were muted for is:9 %MuteMSG $+ 4]:.
.timermute 1 $calc(%Mute.Time * 60) mode $chan +v-b %Mute.Nick ~q: $+ $address(%Mute.Nick,2)
.timermute 1 $calc(%Mute.Time * 60) unset %Mute*
}
else { echo -a 4,1.:[9Error:11 You must specify a time in numbers!4]:. }
}
..[-[-Unmute $1 $+ -]-]:{
mode $chan +v-b %Mute.Nick ~q: $+ $address(%Mute.Nick,2)
unset %Mute*
timerMute off
}
}
ON *:NICK:{
if ($nick == %Mute.Nick) {
set %Mute.Nick $newnick
}
}
ON *:JOIN:%Mute.Channel:{
if ($address($nick,2) == $address(%Mute.Nick,2)) {
mode $chan -v $nick
set %Mute.Nick $nick
}
}