on $*:TEXT:/^.rsnews*/Si:#: { if ($left($1,1) != %trigger.public && $left($1,1) != %trigger.private) { halt } if ($left($1,1) == %trigger.public && $readini(chansetting.ini,$chan,public) == off) { halt } if ($left($1,1) == %trigger.private && $readini(chansetting.ini,$chan,private) == off) { halt } if ($sock(rsnews)) { halt } .set %rsn.out $iif($left($1,1) == %trigger.public,msg $chan,notice $nick) .set %rsn.ploc $ceil($calc($2 / 20)) .set %rsn.num $iif(!$2 || $2 !isnum,1,$calc($2 - ((%rsn.ploc -1) * 20)))) .set %rsnr $false .sockopen rsnews news.runescape.com 80 } alias nc1 { return $+($chr(3),$cntn(%color.news.base),$1,$chr(3),) } alias nc2 { return $+($chr(3),$cntn(%color.news.secondary),$1,$chr(3),) } on *:SOCKOPEN:rsnews: { if ($sockerr) { echo 4 -s ** SockOpen Error ** $sock($sockname).wsmsg | return } .sockwrite -n $sockname GET /lang/en/aff/runescape/list.ws?cat=0&page= $+ %rsn.ploc HTTP/1.1 .sockwrite -n $sockname Host: news.runescape.com $+ $crlf $+ $crlf } on *:SOCKREAD:rsnews: { if ($sockerr) { echo 4 -s ** SockRead Error ** $sock($sockname).wsmsg | return } .sockread %rsn if (!%rsn) { halt } if (%rsnr == 4) { .set $+(%,rsn.date.,$calc($var(%rsn.date.*,0) +1)) $nohtml(%rsn) | .set %rsnr $false } if (%rsnr == 3) { .set $+(%,rsn.title.,$calc($var(%rsn.title.*,0) +1)) $nohtml(%rsn) | inc %rsnr } if (%rsnr == 2) { inc %rsnr } if (%rsnr == 1) { .set $+(%,rsn.type.,$calc($var(%rsn.type.*,0) +1)) $nohtml(%rsn) | inc %rsnr } if (*