Administrators chain Posted June 9, 2022 Administrators Report Share Posted June 9, 2022 MuteBanEnforce by Ford_Lawnmower irc.GeekShed.net #Script-Help menu nicklist { .$iif(!$hget(MuteEnforce,$+($network,$chan,$address($$1,2))),$style(2)) RemoveMute $$1: { var %mask $+($network,$chan,$address($$1,2)) hdel MuteEnforce %mask if ($timer(%mask).com) { $v1 .notice $$1 Your ban has been lifted early! You may now speak in $+($chan,.) Please try not to repeat the same activity that caused you to be muted. $+(.timer,%mask) off } else mode $chan -b $+(~q:,$address($$1,2)) } .Mute $$1 ..3 Minutes:mute $$1 180 $$?="Reason for Muting $$1" ..5 Minutes:mute $$1 300 $$?="Reason for Muting $$1" ..10 Minutes:mute $$1 600 $$?="Reason for Muting $$1" ..30 Minutes:mute $$1 1800 $$?="Reason for Muting $$1" ..60 Minutes:mute $$1 3600 $$?="Reason for Muting $$1" ..Forever:mute $$1 $$?="Reason for Muting $$1" } alias mute { clipboard $$1 var %nick $cb(1) if (%nick ison $chan) { ialcheck %nick var %usermodes $replace($remove($nick(#,%nick).pnick,%nick),~,q,&,a,!,a,@,o,%,h,+,v), %addy $iif($address(%nick,2),$v1,%nick) mode $chan $+(+b-,%usermodes) $+(~q:,%addy) $str($+(%nick,$chr(32)),$len(%usermodes)) hadd -m MuteEnforce $+($network,$chan,%addy) mute if ($$2 isnum) { $+(.timer,$network,$chan,%addy) 1 $$2 removeMute $+($network,$chan,%addy) $chan $+(-b+,%usermodes) $+(~q:,%addy) $str($+(%nick,$chr(32)),$len(%usermodes)) msg $chan $+(,%nick,) You have been Muted! Duration: $duration($2) Reason: $3- } else msg $chan %nick You have been Muted! $+(Reason:,$2-) } else echo -a %nick is not on $chan } alias -l ialcheck { if (!$ial($1)) .who $1 } alias -l removeMute { if ($($+($,$0),2) !ison $2) mode $2 -b $4 else mode $2- hdel MuteEnforce $1 } alias -l parseMode { tokenize 32 $1 var %start 1, %finish $len($1), %+-, %modes -1, %location $+(parseMode,$chr(3),$network,$chr(3),$chan) while (%start <= %finish) { if ($mid($1,%start,1) isin +-) { %+- = $replace($v1,+,1,-,-1) | inc %modes } elseif ($mid($1,%start,1) isin qaohvb) { var %mode $+($v1,$($+($,$calc(%start - %modes)),2)) hadd -m %location %mode $calc($hget(%location,%mode) + %+-) } inc %start } var %hash $regsubex($regsubex($str(.,$hget(%location,0).item),/(.)/g,$+($hget(%location,\n).data,$hget(%location,\n).item,$chr(32))),/(\b0[^\s]*)/g,) if ($hget(%location)) hfree $v1 var %count 1, %max $numtok(%hash,32), %return, %temp while (%count <= %max) { %temp = $gettok(%hash,%count,32) %return = $+(%return,$chr(32),$iif($left(%temp,1) == -,$+(-,$mid(%temp,3)),$+(+,$mid(%temp,2)))) inc %count } return %return } On !*:rawmode:#: { checkMutes $network $chan $parsemode($1-) } alias -l checkMutes { var %network $1, %chan $2, %modes $3- tokenize 32 %modes checkMute %network %chan $* } alias -l checkMute { var %mode $left($3,2), %target $mid($3,3) if ((%mode isincs +v+h+o+a+q) && ($hget(MuteEnforce,$+($1,$2,$address(%target,2))))) mode $2 $replace(%mode,+,-) %target elseif ((%mode == -b) && ($hget(MuteEnforce,$+($1,$2,$gettok(%target,-1,58))))) mode $chan +b %target } Quote Link to comment Share on other sites More sharing options...