ON $*:TEXT:/^[!@.](RS)?Forums?/i:*:{ if (!$2) { notice $nick Syntax: $1 } 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 (*** 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 }