All pastes #282235 Raw Edit

RsnewsScript

public text v1 · immutable
#282235 ·published 2006-12-17 12:08 UTC
rendered paste body
on $*:text:/^((\[[a-z]{2}\])?Generic )?[@`.,!]rsnews */iS:#GenericDev: { 
  if ($hget(disabled,$chan)) && ($1 != $me) halt
  if ($1 == $me) tokenize 32 $2-
  if ($1 != $me) && ($remove($1,$left($1,1)) != rsnews) halt 
  inc %rsnewsid 1
  set -u60 %rmsg [ $+ [ %rsnewsid ] ] $iif($left($1,1) == @,msg $chan,.notice $nick)    
  sockopen $+(rsnews,%rsnewsid) www.runescape.com 80
}

on *:SOCKOPEN:rsnews*:{
  sockwrite -nt $sockname GET /lang/en/aff/runescape/title.ws HTTP/1.1
  sockwrite -nt $sockname Host: www.runescape.com 
  sockwrite -nt $sockname $ctrlf $ctrlf
}

on *:SOCKREAD:rsnews*:{
  if ($sockerr > 0) return
  sockread %r.read
  if (<span class="newsdate"> isin %r.read && !%rstitle [ $+ [ $right($sockname,-1) ] ]) {
    set -u15 %rstitle [ $+ [ $right($sockname,-1) ] ] $replace(%r.read,</span>,$chr(32))
    %rmsg [ $+ [ %rsnewsid ] ] 14Title:04 $gettok($htmlfree(%rstitle [ $+ [ $right($sockname,-1) ] ]),2-,32)) 14Date:04 $gettok($htmlfree(%rstitle [ $+ [ $right($sockname,-1) ] ]),1,32),)
  }
  if (<td style="text-align: justify; vertical-align: top;"> isin %r.read && !%rsdes [ $+ [ $right($sockname,-1) ] ]) {
    set -u15 %rsdes [ $+ [ $right($sockname,-1) ] ] $htmlfree(%r.read)
    %rmsg [ $+ [ %rsnewsid ] ] 14Description:04 %rsdes [ $+ [ $right($sockname,-1) ] ] $+ 
  }
  if (<div style="margin-top: 0.5em;"> isin %r.read && !%rslink [ $+ [ $right($sockname,-1) ] ]) {
    set -u15 %rslink [ $+ [ $right($sockname,-1) ] ] $remove(%r.read,<a href=,>Read more...</a></div>,<div style="margin-top: 0.5em;,",<,>)
    %rmsg [ $+ [ %rsnewsid ] ] 14Link:04 %rslink [ $+ [ $right($sockname,-1) ] ] $+ 
  }
}

alias -l htmlfree {
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;)
  return %x
}