rendered paste bodyon *:JOIN:#CL:{
var %x = 1
while ($sock($+(clan.,%x))) inc %x
if ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) set $+(%,clan.nick.,%x) $ifmatch
if ($readini(DefRSN.ini,RSNs,$nick)) set $+(%,clan.nick.,%x) $ifmatch
elseset $+(%,clan.nick.,%x) $nick
sockopen $+(clan.,%x) runehead.com 80
}
on $*:SOCKOPEN:/^clan\.([0-9]+)$/:{
sockwrite -nt $sockname GET $+(/clans/search.php?search=,$($+(%,clan.nick.,$regml(1)),2),&searchtype=exact) HTTP/1.1
sockwrite -nt $sockname Host: $+(runehead.com,$str($crlf,2))
}
on $*:SOCKREAD:/^clan\.([0-9]+)$/:{
var %x = $regml(1), %nick = $($+(%,clan.nick.,%x),2), %display = notice $nick
if ($sockerr) {
%display $c1(Socket error:) $c2($sock($sockname).wsmsg)
halt
}
if
var %read
sockread %read
if (*No results were found* iswm %read) {
%display $c2(%nick) $c1(was not found in any clans.)
cleanup %x
sockclose $sockname
}
elseif ($regex($striptags(%read),/The exact search .+ returned (.+) results?/Si)) %display $c2(%nick) $c1(is in) $c2($regml(1)) $c1($iif($regml(1) == 1,clan:,clans:))
elseif (*ml.php* iswm %read) set $+(%,clan.clans.,%x) $addtok($($+(%,clan.clans.,%x),2),$c2($striptags(%read)),44)
elseif (*<h3>Navigation</h3>* iswm %read) {
%display $replace($($+(%,clan.clans.,%x),2),$chr(44),$+($c1($chr(44)),$chr(32)))
if ($istok($strip($($+(%,clan.clans.,%x),2)),Chivalry Legions,44)) && (%nick isreg #CL) mode #CL +v %nick
if ($istok($strip($($+(%,clan.clans.,%x),2)),Rune Raiders,44)) && (%nick isreg #CL) mode #CL +v %nick
}
}
on $*:SOCKCLOSE:/^clan\.([0-9]+)$/:cleanup $regml(1)
alias -l cleanup { unset $+(%,clan.*.,$1) }
alias -l c1 { return $+($chr(3),04,$1-,$chr(3)) }
alias -l c2 { return $+($chr(3),07,$1-,$chr(3)) }
alias -l striptags { return $regsubex($1-,/(<[^>]+>)/g,$null) }