All pastes #506386 Raw Edit

Something

public text v1 · immutable
·published 2007-05-23 23:01 UTC
rendered paste body
alias AC {
  if (*@* iswm $1) {
    var %Add = $replace($1,@,$chr(32) $+ @ $+ $chr(32))
    tokenize 32 %Add
    var %Address = $remove($2-,$gettok($2-,1,46))
    var %Address = *!*@* $+ %Address
    return %Address
  }
}
dialog Ignore {
  title "Ultimate Ignore"
  size -1 -1 150 160
  option dbu
  tab "Add/Del", 1, 7 3 135 145
  text "Ultimate Ignore", 2, 57 151 40 10
  box "Add Features", 3, 10 20 67 123, tab 1
  edit "Nick", 4, 14 30 59 10, tab 1 autohs
  edit "Host", 5, 14 50 59 10, tab 1 autohs
  text "And/Or:", 6, 32 41 40 8, tab 1
  check "Joins/Parts", 7, 13 75 35 8, tab 1 
  check "Quits", 8, 50 75 20 8, tab 1 
  check "Nick Changes", 9, 13 85 40 8, tab 1
  check "Text/Actions", 10, 13 95 40 8, tab 1 
  check "Everything", 11, 13 105 40 8, tab 1 
  button "Add", 12, 23 117 40 10, tab 1
  text "", 13, 15 127 60 15, tab 1 center
  text "Ignore...?", 14, 30 65 25 10, tab 1
  box "Del Features", 15, 80 20 59 65, tab 1
  edit "Nick/Host", 16, 85 30 49 10, tab 1 autohs
  text "", 26, 85 40 50 20, tab 1 center
  button "Del", 17, 90 60 40 10, tab 1
  button "Cancel", 19, 90 100 40 20, tab 1
  tab "List/Clear", 20
  list 21, 12 25 125 110, vsbar tab 20
  text "List:", 22, 63 18 10 6, center tab 20
  button "List", 23, 20 135 30 10, tab 20
  button "Clear", 24, 60 135 30 10, tab 20
  button "Cancel", 25, 100 135 30 10, tab 20 cancel
}
on *:DIALOG:Ignore:dclick:*:{
  if ($did == 21 && $did(21).seltext) {
    if ($did(21).seltext != No one has been added to the ignore list.) {
      /did -r $dname 16
      /did -a $dname 16 $did(21).seltext
      /did -f $dname 1
      /did -f $dname 16
    }
  }
}
on *:DIALOG:Ignore:sclick:*:{
  if ($did == 11) {
    /did -u $dname 7-10
  }
  if ($did <= 10 && $did >= 7) {
    /did -u $dname 11
  }
  if ($did == 19) {
    /dialog -x $dname
  }
  if ($did == 12) {
    if (!$did(4) && !$did(5)) { 
      did -r $dname 13
      did -a $dname 13 Please Specify A Nick Or Host.
      halt
    }
    elseif ($did(4).edited == $false && $did(5).edited == $false) {
      /did -r $dname 13
      /did -a $dname 13 Please Specify A Nick Or Host.
      halt
    }
    elseif ($did(4) || $did(5)) {
      if ($did(4).edited != $false || $did(5).edited != $false) {
        if ($did(5).edited != $false && *@* !iswm $did(5)) { 
          did -r $dname 13 
          did -a $dname 13 Please specify a valid address/host.
          halt
        }
        if ($read(Ignore.txt, w, $iif($did(4),$v1,$did(5)))) {
          /did -r $dname 13
          /did -a $dname 13 The specified nick/host is already in the ignore list.
          halt
        }
        elseif ($did(7).state == 0 && $did(8).state == 0 && $did(9).state == 0 && $did(10).state == 0 && $did(11).state == 0) {
          /did -r $dname 13
          /did -a $dname 13 Please Check Things To Ignore Him/Her At.
          halt
        }
        else {
          /did -r $dname 13
          $iif($did(4) && $did(4) != Nick && $did(5).edited == $false,/write Ignore.txt $did(4),/noop)
          $iif($did(5) && $did(5) != Host && $did(4).edited == $false,/write Ignore.txt $AC($did(5)),/noop)
          if ($did(5).edited == $true && $did(4).edited == $true) {
            /write Ignore.txt $did(4)
            /write Ignore.txt $AC($did(5))
          }
          $iif($did(7).state == 1 && $did(4).edited == $true && $did(5).edited == $false,/write Joins.txt $did(4))
          $iif($did(7).state == 1 && $did(5).edited == $true && $did(4).edited == $false,/write Joins.txt $AC($did(5)))
          if ($did(7).state == 1 && $did(4).edited == $true && $did(5).edited == $true) {
            /write Joins.txt $did(4)
            /write Joins.txt $AC($did(5))
          }
          $iif($did(8).state == 1 && $did(4).edited == $true && $did(5).edited == $false,/write Quits.txt $did(4),/noop)
          $iif($did(8).state == 1 && $did(5).edited == $true && $did(4).edited == $false,/write Quits.txt $AC($did(5)),/noop)
          if ($did(8).state == 1 && $did(4).edited == $true && $did(5).edited == $true) {
            /write Quits.txt $did(4)
            /write Quits.txt $AC($did(5))
          }
          $iif($did(9).state == 1 && $did(4).edited == $true && $did(5).edited == $false,/write NickChg.txt $did(4),/noop)
          $iif($did(9).state == 1 && $did(5).edited == $true && $did(4).edited == $false,/write NickChg.txt $AC($did(5)),/noop)
          if ($did(9).state == 1 && $did(4).edited == $true && $did(5).edited == $true) {
            /write NickChg.txt $did(4)
            /write NickChg.txt $AC($did(5))
          }
          $iif($did(10).state == 1 && $did(4).edited == $true && $did(5).edited == $false,/write TxtAct.txt $did(4),/noop)
          $iif($did(10).state == 1 && $did(5).edited == $true && $did(4).edited == $false,/write TxtAct.txt $AC($did(5)),/noop)
          if ($did(10).state == 1 && $did(4).edited == $true && $did(5).edited == $true) {
            /write TxtAct.txt $did(4)
            /write TxtAct.txt $AC($did(5))
          }
          $iif($did(11).state == 1 && $did(4).edited == $true && $did(5).edited == $false,/write Every.txt $did(4),/noop)
          $iif($did(11).state == 1 && $did(5).edited == $true && $did(4).edited == $false,/write Every.txt $AC($did(5)),/noop)
          if ($did(11).state == 1 && $did(4).edited == $true && $did(5).edited == $true) {
            /write Every.txt $did(4)
            /write Every.txt $AC($did(5))
          }
        }
      }
    }
  }
  if ($did == 17) {
    if ($did(16).edited == $true && $did(16)) {
      if (!$read(Ignore.txt, w, $did(16))) { did -r $dname 26 | did -a $dname 26 Nothing was found for $+(",$did(16),".) | halt }
      elseif ($read(Ignore.txt, w, $did(16))) {
        var %Line = $readn
        var %Person = $read(Ignore.txt, w, $did(16))
        /write -dl $+ %Line Ignore.txt
      }
      elseif ($read(Joins.txt, w, %Person)) {
        var %Line = $readn
        /write -dl $+ %Line Joins.txt
      }
      elseif ($read(Quits.txt, w, %Person)) {
        var %Line = $readn
        /write -dl $+ %Line Quits.txt
      }
      elseif ($read(NickChg.txt, w, %Person)) {
        var %Line = $readn
        /write -dl $+ %Line NickChg.txt
      }
      elseif ($read(TxtAct.txt, w, %Person)) {
        var %Line = $readn
        /write -dl $+ %Line TxtAct.txt
      }
      elseif ($read(Every.txt, w, %Person)) {
        var %Line = $readn
        /write -dl $+ %Line Every.txt
      }
    }
    elseif ($did(16).edited == $false || !$did(16)) {
      did -r $dname 26
      did -a $dname 26 Please specify a nick or host.
    }
  }
  if ($did == 23) {
    if ($exists(Ignore.txt) == $false || !$read(Ignore.txt, 1)) {
      did -r $dname 21
      did -a $dname 21 No one has been added to the ignore list.
      halt
    }
    var %x = 1
    did -r $dname 21
    while (%x <= $lines(Ignore.txt)) {
      did -a $dname 21 $read(Ignore.txt,%x)
      inc %x
    }
  }
  if ($did == 24) {
    if ($exists(Ignore.txt) == $false || !$read(Ignore.txt, 1)) { 
      did -r $dname 21
      did -a $dname 21 No one has been added to the ignore list.
      halt
    }
    var %x = 1
    while (%x <= $lines(Ignore.txt) && $exists(Ignore.txt) == $true) {
      /write -dl $+ %x Ignore.txt
      inc %x
    }
    var %y = 1
    while (%y <= $lines(Joins.txt) && $exists(Joins.txt) == $true) {
      /write -dl $+ %y Joins.txt
      inc %y
    }
    var %z = 1
    while (%z <= $lines(Quits.txt) && $exists(Quits.txt) == $true) {
      /write -dl $+ %z Quits.txt
      inc %z
    }
    var %a = 1
    while (%a <= $lines(NickChg.txt) && $exists(NickChg.txt) == $true) {
      /write -dl $+ %a NickChg.txt
      inc %a
    }
    var %b = 1
    while (%b <= $lines(TxtAct.txt) && $exists(TxtAct.txt) == $true) {
      /write -dl $+ %b TxtAct.txt
      inc %b
    }
    var %c = 1
    while (%c <= $lines(Every.txt) && $exists(Every.txt) == $true) {
      /write -dl $+ %c Every.txt
      inc %c
    }
  }
}
on ^*:TEXT:*:*:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(TxtAct.txt, w, $address($nick,4)) || $read(TxtAct.txt, w, $nick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:ACTION:*:*:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(TxtAct.txt, w, $address($nick,4)) || $read(TxtAct.txt, w, $nick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:NOTICE:*:*:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(TxtAct.txt, w, $address($nick,4)) || $read(TxtAct.txt, w, $nick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:JOIN:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Joins.txt, w, $address($nick,4)) || $read(Joins.txt, w, $nick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:PART:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Joins.txt, w, $address($nick,4)) || $read(Joins.txt, w, $nick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:QUIT:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Quits.txt, w, $address($nick,4)) || $read(Quits.txt, w, $nick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:NICK:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(NickChg.txt, w, $address($nick,4)) || $read(NickChg.txt, w, $nick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:KICK:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick) || $read(Ignore.txt, w, $address($knick,4)) || $read(Ignore.txt, w, $knick)) {
    if ($read(Every.txt, w, $address($knick,4)) || $read(Every.txt, w, $knick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:BAN:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick) || $read(Ignore.txt, w, $address($bnick,4)) || $read(Ignore.txt, w, $bnick)) {
    if ($read(Every.txt, w, $address($bnick,4)) || $read(Every.txt, w, $bnick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:UNBAN:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick) || $read(Ignore.txt, w, $address($bnick,4)) || $read(Ignore.txt, w, $bnick)) {
    if ($read(Every.txt, w, $address($bnick,4)) || $read(Every.txt, w, $bnick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:CHAT:*:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:SERV:*:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:DEHELP:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick) || $read(Ignore.txt, w, $address($hnick,4)) || $read(Ignore.txt, w, $hnick)) {
    if ($read(Every.txt, w, $address($hnick,4)) || $read(Every.txt, w, $hnick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:HELP:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick) || $read(Ignore.txt, w, $address($hnick,4)) || $read(Ignore.txt, w, $hnick)) {
    if ($read(Every.txt, w, $address($hnick,4)) || $read(Every.txt, w, $hnick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:VOICE:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick) || $read(Ignore.txt, w, $address($vnick,4)) || $read(Ignore.txt, w, $vnick)) {
    if ($read(Every.txt, w, $address($vnick,4)) || $read(Every.txt, w, $vnick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:DEVOICE:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick) || $read(Ignore.txt, w, $address($vnick,4)) || $read(Ignore.txt, w, $vnick)) {
    if ($read(Every.txt, w, $address($vnick,4)) || $read(Every.txt, w, $vnick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:OP:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick) || $read(Ignore.txt, w, $address($opnick,4)) || $read(Ignore.txt, w, $opnick)) {
    if ($read(Every.txt, w, $address($opnick,4)) || $read(Every.txt, w, $opnick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:DEOP:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick) || $read(Ignore.txt, w, $address($opnick,4)) || $read(Ignore.txt, w, $opnick)) {
    if ($read(Every.txt, w, $address($opnick,4)) || $read(Every.txt, w, $opnick) || $read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:INVITE:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:MODE:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:PING:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:TOPIC:#:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
on ^*:WALLOPS:*:{
  if ($read(Ignore.txt, w, $address($nick,4)) || $read(Ignore.txt, w, $nick)) {
    if ($read(Every.txt, w, $address($nick,4)) || $read(Every.txt, w, $nick)) {
      halt
    }
  }
}
menu channel,query,status,menubar {
  Ignore Dialog:/dialog -md Ignore Ignore
}