rendered paste bodyON $*:TEXT:/^[!@.](RS)?Forums?/i:*:{
if (!$2) {
notice $nick Syntax: $1 <Item>
}
else {
var %ID $rand(1,9999999999999)
while ($sock($+(RSF.,%ID))) {
inc %ID
}
sockopen $+(RSF.,%ID) forum.runescape.com 80
sockmark $+(RSF.,%ID) $+($iif($chan,$iif($left($1,1) == @,msg $chan,notice $nick),notice $nick),*,$replace($2-,$chr(32),_,+,_))
}
}
ON *:SOCKOPEN:RSF.*:{
tokenize 42 $sock($sockname).mark
sockwrite -nt $sockname GET $+(/searchthreads.ws?srcstr=,$2,&search=search) HTTP/1.1
sockwrite -nt $sockname Host: forum.runescape.com
sockwrite -nt $sockname $crlf
}
ON *:SOCKREAD:RSF.*:{
tokenize 42 $sock($sockname).mark
var %RSF , %ID $gettok($sockname,2,36)
sockread %RSF
if ($sockerr) {
echo -at Error in $sockname socket - $ifmatch
}
else {
if (*-*-* *:*:* iswm %RSF) {
inc $+(%,RSF.,%ID,.2)
if ($($+(%,RSF.,%ID,.2),2) == 4) {
set $+(%,RSF.,%ID,.Info) %RSF
}
}
if (*<A href="forums.ws?*">*</A>* iswm %RSF) {
inc $+(%,RSF.,%ID)
if ($($+(%,RSF.,%ID),2) == 1) {
$1 Title: $HTMLFree(%RSF) - URL: $gettok(%RSF,2,34) - Date: $($+(%,RSF.,%ID,.Info),2)
unset %RSF. [ $+ [ %ID ] ] $+ *
sockclose $sockname
}
}
elseif (*There were no threads matching your search* iswm %RSF) {
$1 RSForums: No matches found
sockclose $sockname
}
}
}
Alias HTMLFree {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x
}