All pastes #1913639 Raw Edit

Miscellany

public text v1 · immutable
#1913639 ·published 2010-08-09 04:04 UTC
rendered paste body
on *:text:*:#spp: {
  if ( $nick !ishop # ) && ( $nick !isop # ) {
    if (%rp_duration == $null) {
      /set %rp_duration 60
    }
    if (%rp_offences == $null) {
      /set %rp_offences 3
    }
    var %base_input = $spacepunct($wifi_acronyms($nobold($nounderline($noreverse($noitalics($latinize($1-)))))))
    var %rp.repeats = rp. $+ $nick $+ . $+ $chan
    var %rp.text = rp. $+ $nick $+ . $+ $chan $+ .text

    if ( % [ $+ [ %rp.repeats ] ] == $null ) {
      set -eu [ $+ [ %rp_duration ] ] % [ $+ [ %rp.repeats ] ] 1
      set -eu [ $+ [ %rp_duration ] ] % [ $+ [ %rp.text ] ] %base_input
    }
    elseif ( % [ $+ [ %rp.text ] ] == %base_input ) {
      set -k % [ $+ [ %rp.repeats ] ] $calc( % [ $+ [ %rp.repeats ] ] + 1)
    }
    elseif ( % [ $+ [ %rp.text ] ] != %base_input ) && ($simtok( % [ $+ [ %rp.text ] ] , %base_input ) >= 66) {
      set -k % [ $+ [ %rp.text ] ] %base_input
      set -k % [ $+ [ %rp.repeats ] ] $calc( % [ $+ [ %rp.repeats ] ] + 1)
    }
    else {
      unset % [ $+ [ %rp.text ] ]
      unset % [ $+ [ %rp.repeats ] ]
      unset % [ $+ [ %rp.times ] ]
      set -eu [ $+ [ %rp_duration ] ] % [ $+ [ %rp.repeats ] ] 1
      set -eu [ $+ [ %rp_duration ] ] % [ $+ [ %rp.text ] ] %base_input   
    set -eu [ $+ [ %rp_duration ] ] % [ $+ [ %rp.times ] ] $time    }
    if ( % [ $+ [ %rp.repeats ] ] >= %rp_offences ) {
      kb5 $nick Repeating too often (3 times in 60 seconds)
      unset % [ $+ [ %rp.repeats ] ]
      unset % [ $+ [ %rp.text ] ]
      unset % [ $+ [ %rp.times ] ]
    }
  }
}

alias wifi_acronyms {
  return $replace($1-,looking for,lf,pm me,pmme)
}

alias latinize {
  var %output
  var %position = 1
  while (%position <= $len($1-)) {
    var %asc = $asc($mid($1-,%position,1))
    if (%asc == 32) {
      %flag = on
    }
    else {
      unset %flag
    }
    if (%flag == on) {
      if (%asc == 170) || (%asc >= 224 && %asc <= 229) {
        %output = %output $+ $chr(32) $+ a
      }
      elseif (%asc >= 192 && %asc <= 197) {
        %output = %output $+ $chr(32) $+ A
      }
      elseif (%asc == 230) {
        %output = %output $+ $chr(32) $+ ae
      }
      elseif (%asc == 198) {
        %output = %output $+ $chr(32) $+ AE
      }
      elseif (%asc == 223) {
        %output = %output $+ $chr(32) $+ B
      }
      elseif (%asc == 162) || (%asc == 169) || (%asc == 231) {
        %output = %output $+ $chr(32) $+ c
      }
      elseif (%asc == 199) {
        %output = %output $+ $chr(32) $+ C
      }
      elseif (%asc == 240) {
        %output = %output $+ $chr(32) $+ d
      }
      elseif (%asc == 208) {
        %output = %output $+ $chr(32) $+ D
      }
      elseif (%asc >= 232) && (%asc <= 235) {
        %output = %output $+ $chr(32) $+ e
      }
      elseif (%asc >= 200) && (%asc <= 203) {
        %output = %output $+ $chr(32) $+ E
      }
      elseif (%asc >= 236) && (%asc <= 239) {
        %output = %output $+ $chr(32) $+ i
      }
      elseif (%asc >= 204) && (%asc <= 207) {
        %output = %output $+ $chr(32) $+ I
      }
      elseif (%asc == 163) {
        %output = %output $+ $chr(32) $+ L
      }
      elseif (%asc == 241) {
        %output = %output $+ $chr(32) $+ n
      }
      elseif (%asc == 209) {
        %output = %output $+ $chr(32) $+ N
      }
      elseif (%asc == 176) || (%asc == 186) || (%asc = 248) || ((%asc >= 242) && (%asc <= 246)) {
        %output = %output $+ $chr(32) $+ o
      }
      elseif (%asc == 216) || ((%asc >= 210) && (%asc <= 214)) {
        %output = %output $+ $chr(32) $+ O
      }
      elseif (%asc == 222) || (%asc == 254) {
        %output = %output $+ $chr(32) $+ p
      }
      elseif (%asc == 182) {
        %output = %output $+ $chr(32) $+ P
      }
      elseif (%asc == 174) {
        %output = %output $+ $chr(32) $+ R
      }
      elseif (%asc == 167) || (%asc == 36) {
        %output = %output $+ $chr(32) $+ S
      }
      elseif (%asc == 181) || ((%asc >= 249) && (%asc <= 252)) {
        %output = %output $+ $chr(32) $+ u
      }
      elseif ((%asc >= 217) && (%asc <= 220)) {
        %output = %output $+ $chr(32) $+ U
      }
      elseif (%asc == 164) || (%asc == 215) {
        %output = %output $+ $chr(32) $+ x
      }
      elseif (%asc == 253) || (%asc == 255) {
        %output = %output $+ $chr(32) $+ y
      }
      elseif (%asc == 165) || (%asc == 221) {
        %output = %output $+ $chr(32) $+ Y
      }
      else {
        %output = %output $+ $chr(32) $+ $chr(%asc)
      }

    }
    else {
      if (%asc == 170) || (%asc >= 224 && %asc <= 229) {
        %output = %output $+ a
      }
      elseif (%asc >= 192 && %asc <= 197) {
        %output = %output $+ A
      }
      elseif (%asc == 230) {
        %output = %output $+ ae
      }
      elseif (%asc == 198) {
        %output = %output $+ AE
      }
      elseif (%asc == 223) {
        %output = %output $+ B
      }
      elseif (%asc == 162) || (%asc == 169) || (%asc == 231) {
        %output = %output $+ c
      }
      elseif (%asc == 199) {
        %output = %output $+ C
      }
      elseif (%asc == 240) {
        %output = %output $+ d
      }
      elseif (%asc == 208) {
        %output = %output $+ D
      }
      elseif (%asc >= 232) && (%asc <= 235) {
        %output = %output $+ e
      }
      elseif (%asc >= 200) && (%asc <= 203) {
        %output = %output $+ E
      }
      elseif (%asc >= 236) && (%asc <= 239) {
        %output = %output $+ i
      }
      elseif (%asc >= 204) && (%asc <= 207) {
        %output = %output $+ I
      }
      elseif (%asc == 163) {
        %output = %output $+ L
      }
      elseif (%asc == 241) {
        %output = %output $+ n
      }
      elseif (%asc == 209) {
        %output = %output $+ N
      }
      elseif (%asc == 176) || (%asc == 186) || (%asc = 248) || ((%asc >= 242) && (%asc <= 246)) {
        %output = %output $+ o
      }
      elseif (%asc == 216) || ((%asc >= 210) && (%asc <= 214)) {
        %output = %output $+ O
      }
      elseif (%asc == 222) || (%asc == 254) {
        %output = %output $+ p
      }
      elseif (%asc == 182) {
        %output = %output $+ P
      }
      elseif (%asc == 174) {
        %output = %output $+ R
      }
      elseif (%asc == 167) || (%asc == 36) {
        %output = %output $+ S
      }
      elseif (%asc == 181) || ((%asc >= 249) && (%asc <= 252)) {
        %output = %output $+ u
      }
      elseif ((%asc >= 217) && (%asc <= 220)) {
        %output = %output $+ U
      }
      elseif (%asc == 164) || (%asc == 215) {
        %output = %output $+ x
      }
      elseif (%asc == 253) || (%asc == 255) {
        %output = %output $+ y
      }
      elseif (%asc == 165) || (%asc == 221) {
        %output = %output $+ Y
      }
      else {
        %output = %output $+ $chr(%asc)
      }
    }
    if ($asc == 32) {
      %flag = on
    }
    else {
      unset %flag
    }
    inc %position
  }
  return %output
}

alias nobold {
  return $replace($1-,$chr(2),)
}

alias noreverse {
  return $replace($1-,$chr(22),)
}

alias nounderline {
  return $replace($1-,$chr(31),)
}

alias noitalics {
  return $replace($1-,$chr(29),)
}

alias spacepunct {
  var %input = $replace($1-,',)
  var %final
  var %position = 1
  var %flag = off
  while (%position <= $len(%input)) {
    if (($asc($mid(%input,%position,1)) >= 65) && ($asc($mid(%input,%position,1)) <= 90)) || (($asc($mid(%input,%position,1)) >= 97) && ($asc($mid(%input,%position,1)) <= 122)) || (($asc($mid(%input,%position,1)) >= 48) && ($asc($mid(%input,%position,1)) <= 57)) { 
      if (%flag == on) {
        %final = %final $+ $chr(32) $+ $mid(%input,%position,1))
        %flag = off
      }
      else {
        %final = %final $+ $mid(%input,%position,1)
      }
    }
    else if ($asc($mid(%input,%position,1)) == 32) {
      %flag = on
    }
    else {
      %flag = on
    }
    inc %position
  }
  return %final
}