All pastes #1628438 Raw Edit

!FML

public text v1 · immutable
#1628438 ·published 2009-10-19 01:53 UTC
rendered paste body
; fmlparse script created using Chessnut's Simple Socket Script Creator
on $*:text:/^[!@\.](fml|fmylife)/Si:#:{
  if ($hget($network,$+(fml.,$chan)) == off) || (meter isin $1) || (%flood. [ $+ [ $address($nick,3) ] ]) halt | else {   
    var %sckid = $right($ticks,5)
    ;    if ($left($1,1) == !) set %way. [ $+ [ %sckid ] ] notice $nick
    ;    if ($left($1,1) == @) set %way. [ $+ [ %sckid ] ] msg $chan
    ;    if ($left($1,1) == .) set %way. [ $+ [ %sckid ] ] notice $nick
    set %way. [ $+ [ %sckid ] ] $iif($left($1,1) == @,$iif(c isincs $chan($chan).mode,notice $nick,msg $chan),notice $nick)
    if (!$2) {
      set -u5 %lang en
      set %nick $nick
      set -u10 %flood. $+ $address($nick,3) 1
      sockopen fmlparse. [ $+ [ %sckid ] ] beastkillers.org 80
    }
    elseif ($2) {
      if ($2 == french) || ($2 == fr) {
        set -u5 %lang fr
        set -u10 %nick $nick
        set -u10 %flood. $+ $address($nick,3) 1
        sockopen fmlparse2. [ $+ [ %sckid ] ] beastkillers.org 80
      }
      elseif ($2 == english )|| ($2 == en) {
        set -u5 %lang en
        set -u10 %nick $nick
        set -u10 %flood. $+ $address($nick,3) 1
        sockopen fmlparse. [ $+ [ %sckid ] ] beastkillers.org 80
      }
    }

  }
}
on $*:text:/^[!@\.](fml|fmylife)/Si:?:{
  var %sckid = $right($ticks,5)
  set %way. [ $+ [ %sckid ] ] notice $nick
  .timer 1 2 window -c $nick
  if (!$2) {
    set -u5 %lang en
    sockopen fmlparse. [ $+ [ %sckid ] ] beastkillers.org 80
  }
  elseif ($2) {
    if ($2 == french) || ($2 == fr) {
      set -u5 %lang fr
      sockopen fmlparse2. [ $+ [ %sckid ] ] beastkillers.org 80
    }
    elseif ($2 == english )|| ($2 == en) {
      set -u5 %lang en
      sockopen fmlparse. [ $+ [ %sckid ] ] beastkillers.org 80
    }
  }

}
on *:SOCKOPEN:fmlparse.*: {
  sockwrite -nt $sockname GET /parsers/fml.php?lang= $+ %lang HTTP/1.1
  sockwrite -nt $sockname Host: beastkillers.org
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:fmlparse.*: {
  if ($sockerr) {
    %way. [ $+ [ $right($sockname,5) ] ] Socket Error: $sockname $+ . Error code: $sockerr Please inform $me of this error message.
    halt
  }
  else {
    var %sockreader
    sockread %sockreader
    if (*START* iswm %sockreader-1) {
      noop $regex(%sockreader,/FML:(.*?)FML/Si)
      var %tempvar $nohtml($replace($regml(1),&quot;,",&amp;,&,&lt;,<,&gt;,>))
      var %tempvar2 $remove(%tempvar,Today $+ $chr(44))

      %way. [ $+ [ $right($sockname,5) ] ] $logo(FML) $sc2(%tempvar)

      ; var %first $upper($gettok(%tempvar2,1,32))
      ;%way. [ $+ [ $right($sockname,5) ] ] $logo(FML) $c2(%first $gettok(%tempvar2,2-,32))
      ;%way. [ $+ [ $right($sockname,5) ] ] $logo(FML) $+ $c2($+($upper($left(%tempvar2,1)),$gettok(%tempvar2,2- $+ %tokens))
      ;$sc2(%tempvar2)
      ;%tempvar
      ; window -c %nick
      unset %nick
      unset %*. [ $+ [ $right($sockname,5) ] ]
      unset %sockreader*
      sockclose $sockname
    }
    if ($len($remove(%sockreader,$chr(9),$chr(32))) > 0) {
      var %x = 0
      while (%x > -1) {
        if ($len(%sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]) <= 850) set %sockreader [ $+ [ $+(-,$calc(%x + 1)) ] ] %sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]
        dec %x
      }
    }
  }
}

; -------------
;  For French
; -------------

on *:SOCKOPEN:fmlparse2.*: {
  sockwrite -nt $sockname GET /parsers/fml.php?lang=fr HTTP/1.1
  sockwrite -nt $sockname Host: beastkillers.org
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:fmlparse2.*: {
  if ($sockerr) {
    %way. [ $+ [ $right($sockname,5) ] ] Socket Error: $sockname $+ . Error code: $sockerr Please inform $me of this error message.
    halt
  }
  else {
    var %sockreader
    sockread %sockreader
    if (*START* iswm %sockreader-1) {
      noop $regex(%sockreader,/FML:(.*?)VDM/Si)
      var %tempvar $regml(1)
      var %tempvar2 $remove(%tempvar,Aujourd'hui $+ $chr(44))
      var %len $len(%tempvar2)
      var %len2 $calc(%len2 - 1)
      %way. [ $+ [ $right($sockname,5) ] ] $logo(FML) $sc2(%tempvar) 
      ;%tempvar
      unset %nick
      ;window -c %nick
      unset %*. [ $+ [ $right($sockname,5) ] ]
      unset %sockreader*
      unset %chan
      sockclose $sockname
    }
    if ($len($remove(%sockreader,$chr(9),$chr(32))) > 0) {
      var %x = 0
      while (%x > -1) {
        if ($len(%sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]) <= 850) set %sockreader [ $+ [ $+(-,$calc(%x + 1)) ] ] %sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]
        dec %x
      }
    }
  }
}