All pastes #181218 Raw Edit

ye ye w.e

public text v1 · immutable
#181218 ·published 2006-09-24 18:14 UTC
rendered paste body
on *:text:*:#: {
  if ($nick == TarBot) { halt }
  if ($chan == #rstrivia) || ($chan == #barrows) { 
    if ($regex($1-,/(.+?)\1{14}/)) kick $chan $nick Repetition of $+(',$regml(1),') 15+ times 
    if ($len($1-) > 10) && ($round($calc($regex($1-,/[A-Z]/g) / $len($remove($1-,$chr(32))) * 100),0) > 85) kick $chan $nick Drop the caps - $+($v1,%) used 
    var %regex = /#[^,]*,0/ 
    if ($regex($1-,%regex)) kb $chan $nick Dont Trick People Nub 
  }
}

menu channel,menubar,nicklist {
  Address Tracking
  .$iif($group(#Addtrack) == on,$style(1)) Show used nicks on join: {
    var %status = $iif($group(#Addtrack) == on,Disable,Enable)
    $+(.,%status) #Addtrack
    echo 7 -at * Users previous nicks will $iif(%status == Disable,no longer,now) be shown when they join
  }
  .-
  .$iif($1,Check nicks for $1):CheckNicks $1
  .Check nicks for an address: {
    CheckNicks $+(*!,$$?="Enter the hostmask you want to check in the format NICK!IDENT@HOST*")
  }
}

on *:start: {
  hmake Addtrack 100
  if ($isfile(Addtrack.hsh)) hload Addtrack Addtrack.hsh 
}
on *:exit: if ($hget(Addtrack)) hsave -o Addtrack Addtrack.hsh

on *:join:#: {
  if ($wildsite iswm $address($me,5)) return
  var %mask = $mask($fulladdress,3)
  if ($hget(Addtrack,%mask)) {
    var %usednicks = $ifmatch
    if (%usednicks != $nick) && ($group(#Addtrack) == on) echo 10 -t $chan [Nick Tracking] $nick has also used the nicks: $remtok(%usednicks,$nick,1,44)
    if (!$istok(%usednicks,$nick,44)) hadd -m Addtrack %mask $addtok(%usednicks,$nick,44)
    if ($numtok(%usednicks,44) > 10) hadd -m Addtrack %mask $deltok(%usednicks,1,44)
  }
  else {
    hadd -m Addtrack %mask $nick
  }
}
on *:nick: {
  if ($wildsite iswm $address($me,5)) return
  var %mask = $mask($fulladdress,3)
  if ($hget(Addtrack,%mask)) {
    var %usednicks = $ifmatch
    if (!$istok(%usednicks,$newnick,44)) hadd -m Addtrack %mask $addtok(%usednicks,$newnick,44)
    if ($numtok(%usednicks,44) > 10) hadd -m Addtrack %mask $deltok(%usednicks,1,44)
  }
  else {
    hadd -m Addtrack %mask $newnick
  }
}
alias CheckNicks {
  if (*!*@* iswm $1) {
    var %mask = $mask($1,3)
    if (!$hget(Addtrack,%mask)) echo 4 -ta No entry found for $1
    else echo 10 -ta Address $1 has used the nicks: $hget(Addtrack,$1)
  }
  elseif (!$hget(Addtrack,$address($1,3))) echo 4 -ta No Entry found for $1 
  elseif ($hget(Addtrack,$address($1,3)) != $1) {
    var %usednicks = $ifmatch
    echo 10 -ta $1 has also used the nicks $remtok(%usednicks,$1,1,43)
  }
  else echo 10 -ta $1 has not been seen on any other nicks
}

#Addtrack on
#addtrack end

on *:BAN:#:{ 
  if ($banmask iswm $ial($me)) { 
    mode $chan -ob $nick $banmask 
    kick $chan $nick Tried to ban me eh? think again)
  } 
}

/tb /ban -ku $+ $calc($$2 * 60) # $1 2 $3- (Temp Ban: ( $$2 Minutes )
;;;;;;;;;;;;;;;;;;;;;;;;;;
;; QueryAcceptor
;; by bunkahumpa
;; bunkahumpa@playcs.com
;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:load:{
  set %queryacceptor on
  echo -a *** QueryAcceptor Loaded Successfully.
  echo -a If you need to temporarily shut it off, select shut off from the popups. 
  echo -a If you want to unload the script, select unload.
  echo -a You can delete saved users by selecting Saved Addresses.
}

alias qa.unload {
  if ($?!="Are you sure you want to unload?") {
    unset %qa.*
    unload -rs queryacceptor.mrc
  }
}

on *:unload:{
  echo -a *** QueryAcceptor has been unloaded.
}

alias qa.accept {
  writeini QueryAcceptorAddresses.ini Saved $gettok($ial($gettok($snicks,1,44)),2,33) accept
  echo -a *** Added $gettok($snicks,1,44) ( $+ $gettok($ial($gettok($snicks,1,44)),2,33) $+ ) to accept saved addresses
}

alias qa.decline {
  writeini QueryAcceptorAddresses.ini Saved $gettok($ial($gettok($snicks,1,44)),2,33) decline
  echo -a *** Added $gettok($snicks,1,44) ( $+ $gettok($ial($gettok($snicks,1,44)),2,33) $+ ) to decline saved addresses
}

menu nicklist {
  -
  QueryAcceptor - Always accept from $1:qa.accept
  QueryAcceptor - Always decline from $1:qa.decline
  -
}

menu status,channel,query,menubar {
  -
  QueryAcceptor
  .Saved Addresses:dialog -m savedaddresses savedaddresses
  .-
  .Turn $iif(%queryacceptor == on, off, on):$iif(%queryacceptor == on, set %queryacceptor off, set %queryacceptor on)
  .Unload:qa.unload
  -
}

dialog queryacceptor {
  title "QueryAcceptor"
  size -1 -1 133 61
  option dbu
  text %qa.nick, 1, 8 10 122 8
  box "QueryAcceptor", 2, 1 0 131 60
  text "is attempting to send you a message.", 3, 8 18 95 8
  button "Accept", 4, 8 28 37 9
  button "Decline", 5, 50 28 37 9
  check "Always", 6, 8 47 28 8
  combo 7, 37 45 38 34, size drop
  text "queries from this user", 8, 78 47 53 8
  box "Options", 9, 1 38 131 22
}

on *:dialog:queryacceptor:init:0:{
  did -a queryacceptor 7 Accept
  did -a queryacceptor 7 Decline
  did -c queryacceptor 7 1
}

on *:dialog:queryacceptor:sclick:4:{
  did -b queryacceptor 5
  if ($did(6).state == 1) {
    if ($did(7) == Accept) {
      writeini QueryAcceptorAddresses.ini Saved %qa.address accept
    }
    if ($did(7) == Decline) {
      writeini QueryAcceptorAddresses.ini Saved %qa.address decline
    }
  }
  window -w %qa.nick
  dialog -x queryacceptor queryacceptor
  window -a %qa.nick
  unset %qa.nick
  unset %qa.address
}

on *:dialog:queryacceptor:sclick:5:{
  did -b queryacceptor 4
  if ($did(6).state == 1) {
    if ($did(7) == Accept) {
      writeini QueryAcceptorAddresses.ini Saved %qa.address accept
    }
    if ($did(7) == Decline) {
      writeini QueryAcceptorAddresses.ini Saved %qa.address decline
    }
  }
  close -m %qa.nick
  dialog -x queryacceptor queryacceptor
  unset %qa.nick
  unset %qa.address
}

on *:open:?:{
  if (%queryacceptor == on) {
    if ($dialog(queryacceptor)) {
      .msg $nick Sorry $nick $+ , but I am busy with another message. Please try again later.
      close -m $nick
    }
    else {
      if ($readini(QueryAcceptorAddresses.ini,Saved,$gettok($ial($nick),2,33))) {
        if ($readini(QueryAcceptorAddresses.ini,Saved,$gettok($ial($nick),2,33)) == decline) {
          close -m $nick
        }
      }
      else {
        set %qa.nick $nick
        set %qa.address $gettok($ial($nick),2,33)
        window -h %qa.nick
        dialog -m queryacceptor queryacceptor
      }
    }
  }
}

dialog savedaddresses {
  title "Saved Addresses"
  size -1 -1 244 131
  option dbu
  box "", 1, 2 0 241 130
  box "", 2, 2 0 61 130
  button "Remove", 3, 33 86 27 8
  button "Add", 7, 5 86 27 8
  text "To add a new address, click on the Add button. To remove an address, select one to the right and click on the Remove button. To change an address, select one on the right and click on the Edit button.", 4, 6 10 53 74
  list 5, 66 7 172 119, size extsel hsbar vsbar
  button "Close", 6, 14 112 37 12, ok
  button "Edit", 8, 19 95 27 8
  box "", 9, 2 103 61 27
}

on *:dialog:savedaddresses:init:0:{
  var %line = 1
  var %ini = 1
  while (%ini <= $ini(QueryAcceptorAddresses.ini,Saved,0)) {
    did -i savedaddresses 5 %line $ini(QueryAcceptorAddresses.ini,Saved,%ini) ( $+ $readini(QueryAcceptorAddresses.ini,Saved,$ini(QueryAcceptorAddresses.ini,Saved,%ini)) $+ )
    inc %line
    inc %ini
  }
}

on *:dialog:savedaddresses:sclick:3:{
  if ($did(savedaddresses,5).seltext != $null) {
    remini QueryAcceptorAddresses.ini Saved $gettok($did(savedaddresses,5).seltext,1,32)
    did -d savedaddresses 5 $did(savedaddresses,5).sel
  }
}

on *:dialog:savedaddresses:sclick:7:{
  dialog -m add_address add_address
}

on *:dialog:savedaddresses:sclick:8:{
  if ($did(savedaddresses,5).seltext != $null) {
    set %qa.editaddress $gettok($did(savedaddresses,5).seltext,1,32)
    dialog -m edit_address edit_address
  }    
}

on *:dialog:savedaddresses:sclick:6:{
  dialog -x savedaddresses savedaddresses
}

dialog add_address {
  title "Add New Address"
  size -1 -1 144 53
  option dbu
  box "New Address", 1, 0 0 144 53
  text "Enter an address and select to always accept or decline messages from that address:", 2, 7 9 118 14
  edit "", 3, 7 25 134 10
  combo 4, 95 37 46 50, size drop
  button "Add Address", 5, 7 37 37 11
  button "Cancel", 6, 48 37 37 11
}

on *:dialog:add_address:init:0:{
  did -a add_address 4 Accept
  did -a add_address 4 Decline
  did -c add_address 4 1
}

on *:dialog:add_address:sclick:5:{
  if ($did(3)) {
    if ($did(3) == You must enter an address here!) {
      halt
    }
    if ($did(4) == Accept) {
      did -a savedaddresses 5 $did(add_address,3) (accept)
      writeini QueryAcceptorAddresses.ini Saved $did(3) accept
    }
    if ($did(4) == Decline) {
      did -a savedaddresses 5 $did(add_address,3) (decline)
      writeini QueryAcceptorAddresses.ini Saved $did(3) decline
    }
    dialog -x add_address add_address
  }
  else {
    did -a add_address 3 You must enter an address here!
  }
}

on *:dialog:add_address:sclick:6:{
  dialog -x add_address add_address
}

dialog edit_address {
  title "Edit Saved Address"
  size -1 -1 134 55
  option dbu
  box "Edit Address", 1, 0 0 134 55
  text "Edit the selected address:", 2, 11 9 64 8
  edit "", 3, 11 18 120 10
  combo 4, 11 29 50 49, size drop
  button "Save", 5, 11 42 37 9
  button "Cancel", 6, 49 42 37 9
}

on *:dialog:edit_address:init:0:{
  did -a edit_address 3 %qa.editaddress
  did -a edit_address 4 Accept
  did -a edit_address 4 Decline
  did -c edit_address 4 1
}

on *:dialog:edit_address:sclick:5:{
  if ($did(3)) {
    if ($did(3) == This cannot be blank! Close and try again.) {
      halt
    }
    if ($did(4) == Accept) {
      did -o savedaddresses 5 $did(savedaddresses,5).sel $did(edit_address,3) (accept)
      remini QueryAcceptorAddresses.ini Saved %qa.editaddress
      writeini QueryAcceptorAddresses.ini Saved $did(3) accept
    }
    if ($did(4) == Decline) {
      did -o savedaddresses 5 $did(savedaddresses,5).sel $did(edit_address,3) (decline)
      remini QueryAcceptorAddresses.ini Saved %qa.editaddress
      writeini QueryAcceptorAddresses.ini Saved $did(3) decline
    }
    dialog -x edit_address edit_address
    unset %qa.editaddress
  }
  else {
    did -a edit_address 3 This cannot be blank! Close and try again.
  }
}

on *:dialog:edit_address:sclick:6:{
  dialog -x edit_address edit_address
  unset %qa.editaddress
}