on $*:TEXT:/^[!@]m(ove)?(dex)? /Si:#:{ if (!$2) { .notice $nick You must specify something to search for. } else { inc %x set $+(%,move.search.,%x) $replace($2-,$chr(32),$+(%,20)) set $+(%,move.msg.,%x) $iif(@* iswm $1,msg $chan,.notice $nick) sockopen $+(Move.,%x) veekun.com 80 write -c read.txt } } on *:SOCKOPEN:Move.*:{ sockwrite -nt $sockname GET /dex/moves/ $+ %move. [ $+ [ $right($sockname,-5) ] ] HTTP/1.1 sockwrite -nt $sockname Host: veekun.com $+ $crlf $+ $crlf } on *:SOCKREAD:Move.*:{ var %read sockread -f %read echo -a %read } off *:SOCKREAD:Move.*:{ var %x = $gettok($sockname,2,46) var %search = $($+(%,move.search.,%x),2), %msg = $($+(%,move.msg.,%x),2) if ($sockerr) { write SockErr.txt $sockname : $sockerr echo -a Socket Error - Check SockErr.txt halt } elseif (%wait) { unset %wait if (%wait == text) { set $+(%,text.,%x) $notags(%read) } elseif (%wait == power) { set $+(%,power.,%x) $notags(%read) } elseif (%wait == accuracy) { set $+(%,accuracy.,%x) $notags(%read) } elseif (%wait == pp) { set $+(%,pp.,%x) $notags(%read) } } else { var %read sockread %read write read.txt %read if (*Error - veekun.com* iswm %read) { %msg Move $qt(%search) not found. cleanup %x } elseif ($regex(%read,/(\w+)*Flavor Text** iswm %read) { set %wait text } elseif (>Power< isin %read) { set %wait power } elseif (>Accuracy< isin %read) { set %wait accuracy } elseif (>PP< isin %read) { set %wait pp } elseif (/html isin %read) { open read.txt | .timer 1 3 remove read.txt var %type = $($+(%,type.,%x),2), %damage = $($+(%,damage.,%x),2) var %power = $($+(%,power.,%x),2), %accuracy = $($+(%,accuracy.,%x),2), %pp = $($+(%,PP.,%x),2) var %text = $($+(%,text.,%x),2) ;%msg $+(,$capitalize(%search),:) %type $+ -type ¦ $capitalize(%damage) attack ;.timer 1 1 %msg Power: %power ¦ Accuracy: %accuracy ¦ PP: %pp ;.timer 1 1 %msg $iif(%text,$v1,Error recieving move description) cleanup %x } } } alias -l cleanup { sockclose $+(Move,.,$1) unset $+(%,*.,$1) unset %s } alias -l notags { return $remove($1-,
,
) }