Jump to content
chain

mIRC MuteBan with enforce.

Recommended Posts

  • Administrators
Posted
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
}

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...


×
×
  • Create New...