rendered paste bodyalias -l c1 return $+($chr(3),14,$1-)
alias -l c2 return $+($chr(3),07,$1-)
on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([@!]clan)/Si):#:{
tokenize 32 $iif($me isin $1,$deltok($1-,1,32),$1-)
VAR %SI 1, %search = $replace($strip($remtok($remtok($remtok($2-,-partial,1,32),-exact,1,32),-search,1,32)),$chr(95),$chr(32),+,$chr(32))
if (($len(%search) < 3) || ($len(%search) > 12)) {
notice $nick $c1(Clan Database) $c2(-) $c1(Name must be between 3 and 12 characters long)
if (!%search) notice $nick $c1(Clan Database) $c2(-) $c1(You must specify a runescape username to search with)
halt
}
WHILE ($Sock(site. $+ %SI)) { Inc %SI }
unset %clan.*. [ $+ [ %SI ] ]
set $+(%,clan.search.,%SI) $+(/clans/search.php?search=,$replace(%search,$chr(32),+),&searchtype=,$iif($istok($2,-search,32) || $istok($2,-partial,32),partial,exact))
set $+(%,clan.send.,%SI) $iif($left($1,1) == !,notice $nick,msg $chan) $c1(Clan Database) $c2(-) $chr(32)
sockopen $+(site.,%SI) www.runehead.com 80
sockmark $+(site.,%SI) $+($iif($istok($2,-search,32) || $istok($2,-partial,32),partial $chr(32)),%search)
}
on *:SOCKOPEN:site.*: {
VAR %SI = $Right($SockName,-5)
sockwrite -nt $sockname GET $eval($+(%,clan.search.,%SI),2) HTTP/1.1
sockwrite -nt $sockname Host: www.runehead.com
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:site.*: {
var %SI = $right($sockname,-5), %target = $eval($+(%,clan.send.,%SI),2)
if ($sockerr) {
%target Socket error
sockclose $sockname
}
else {
var %read | sockread %read
if ($sockbr == 0) { return }
IF (*No*results*were*found* iswm %read) {
%target $c1(The query) $c2($sock($sockname).mark) $c1(did not return a match)
;%target $c1(For a less specific search try: !clan) $c2(-search) $c1($sock($sockname).mark)
cleanup
}
IF ($regex(%read,/returned <b>(.*)</b>/)) set $+(%,clan.total.,%SI) $regml(1)
IF (border-color:#404040;'><b> isin %read) {
if (($istok(clan hitpoints overall combat,$htmlfree(%read),32)) || ($htmlfree(%read) == rs name)) { return }
Var %name = $htmlfree(%read), %prev = $eval($+(%,clan.name.,%SI),2)
set $+(%,clan.current.,%SI) $calc($eval($+(%,clan.current.,%SI),2) + 1)
Var %total = $eval($+(%,clan.total.,%SI),2), %current = $calc($eval($+(%,clan.current.,%SI),2) + 1), %rsns = $addtok($eval($+(%,clan.rsns.,%SI),2),%name,44)
IF ((%prev == $null) || ($GetTok($sock($sockname).mark,1,32) == partial)) set $+(%,clan.name.,%SI) $lower(%name)
IF ((%prev) && (%prev != %name) && ($gettok($sock($sockname).mark,1,32) == partial)) {
set $+(%,clan.name.,%SI) $lower(%name)
set $+(%,clan.rsns.,%SI) $addtok($eval($+(%,clan.rsns.,%SI),2),%name,44)
if (($numtok(%rsns,44) >= 5) || ($numtok(%rsns,44) >= %total) || (%current >= %total)) {
if ($numtok(%rsns,44) >= 5) %target $c1(Too many results for) $c2($gettok($sock($sockname).mark,2-,32)) - $c1(Top) $c2($numtok(%rsns,44)) $c1(of) $c2($eval($+(%,clan.total.,%SI),2)) $+ $c1(:) $c2($replace($replace(%rsns,$chr(32),$chr(95)),$chr(44),$chr(44) $chr(32)))
else %target $c1(Search results for) $c2($gettok($sock($sockname).mark,2-,32)) $+ $c1(:) $c1($replace($replace(%rsns,$chr(32),$chr(95)),$chr(44),$chr(44) $chr(32)))
cleanup
}
}
IF (%name == $sock($sockname).mark) {
sockread %read
set $+(%,clan.clans.,%SI) $addtok($eval($+(%,clan.clans.,%SI),2),$htmlfree(%read),44)
IF ($numtok($eval($+(%,clan.clans.,%SI),2),44) >= %total) {
%target $c2(%name) $c1(returned) $c2(%total) $c1($+(match,$iif(%total > 1,es))) $+ $c1(:) $c2($replace($eval($+(%,clan.clans.,%SI),2),$chr(44),$chr(44) $chr(32)))
cleanup
}
}
IF ((%total == %current) && ($gettok($sock($sockname).mark,1,32) == partial)) {
%target $c1(Search Results for) $c2($gettok($sock($sockname).mark,2-,32)) $+ $c1(:) $c2($replace($replace(%rsns,$chr(32),$chr(95)),$chr(44),$chr(44) $chr(32)))
cleanup
}
}
}
}
alias -l htmlfree {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x
}
alias -l cleanup {
sockclose $sockname
unset %clan.*. [ $+ [ %SI ] ]
}
on *:TEXT:!cmb *:#: {
inc %iddddd 1 | set %combat.user [ $+ [ %iddddd ] ] $2 | set %combat.display. [ $+ [ %iddddd ] ] notice $nick | sockopen $+(combat.,%iddddd) slushpuppy.silverinterlocution.org 80
}
on *:SOCKOPEN:combat.*:{
sockwrite -n $sockname GET /pestcontrol.php?pestcontrol= $+ %combat.user [ $+ [ %iddddd ] ] HTTP/1.1
sockwrite -n $sockname Host: slushpuppy.silverinterlocution.org
sockwrite -n $sockname $crlf
}
on *:SOCKREAD:combat.*:{
var %combat.read | sockread %combat.read
if (*0<br>* iswm %combat.read) { %combat.display. [ $+ [ %iddddd ] ] $replace(%combat.user [ $+ [ %iddddd ] ],_,$chr(32))) $+ , was not found in the hiscores for any combat skills. | /unset %combat.* | halt }
if (<b> isin %combat.read) { /set %combat.stats [ $+ [ %iddddd ] ] $+(,$gettok($htmlfree(%combat.read),1,32),:) $+(,$gettok($htmlfree(%combat.read),2,32),) $+(,$gettok($htmlfree(%combat.read),3,32),:) $+(,$gettok($htmlfree(%combat.read),4,32),) $+(,$gettok($htmlfree(%combat.read),5,32),:) $+(,$gettok($htmlfree(%combat.read),6,32),) $+(,$gettok($htmlfree(%combat.read),7,32),:) $+(,$gettok($htmlfree(%combat.read),8,32),) $+(,$gettok($htmlfree(%combat.read),9,32),:) $+(,$gettok($htmlfree(%combat.read),10,32),) $+(,$gettok($htmlfree(%combat.read),11,32),:) $+(,$gettok($htmlfree(%combat.read),12,32),) $+(,$gettok($htmlfree(%combat.read),13,32),:) $+(,$gettok($htmlfree(%combat.read),14,32),) }
if (<i> isin %combat.read) { /set %combat.2 [ $+ [ %iddddd ] ] $+ $replace(%combat.user [ $+ [ %iddddd ] ],_,$chr(32)) $+(,is) $+(,$htmlfree(%combat.read),) }
if (<br> isin %combat.read) { /set %combat.3 [ $+ [ %iddddd ] ] $+(,with) $+(,$htmlfree(%combat.read)) $+(,combat.)
%combat.topline [ $+ [ %iddddd ] ] = %combat.2 [ $+ [ %iddddd ] ] %combat.3 [ $+ [ %iddddd ] ]
%combat.display. [ $+ [ %iddddd ] ] %combat.topline [ $+ [ %iddddd ] ]
%combat.display. [ $+ [ %iddddd ] ] %combat.stats [ $+ [ %iddddd ] ]
/unset %combat.*
}
}
alias -l htmlfree {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x }