Just an example of how to use sockets to return phrases. This is in NO way a finished product.
on *:TEXT:!phrase:#:{
if (%phrase.f) { set -u3 %phrase.f 1 | return }
phrase # | set -u3 %phrase.f 1
}
alias phrase {
sockopen phrase www.smartphrase.com 80
sockmark phrase $1-
}
on 1:sockopen:phrase:{
if ($sockerr) echo $color(kick) -s PHRASE SOCKOPEN ERROR: $sock($1).wsmsg
sockwrite -n $sockname POST $+(/cgi-bin/randomphrase.cgi?spanish&,$gettok(serious:humorous,$r(1,2),58),&normal) HTTP/1.1
sockwrite -n $sockname Host: www.smartphrase.com
sockwrite -n $sockname $crlf
}
on 1:sockread:phrase:{
var %r | sockread %r
if ($sockerr) echo $color(kick) -s PHRASE SOCKREAD ERROR: $sock($1).wsmsg
elseif ($regex(%r,<HTML>)) set -u10 %phrase.c 0
elseif (%r == <TD ALIGN="center" WIDTH=420 BGCOLOR="#DCDCFF">) {
sockread %r | inc %phrase.c
if (%phrase.c == 2) $iif($sock($sockname).mark ischan,msg $v1,echo $color(info) -a PHRASE:) $regsubex(%r,.+<P>(.+),\1)
}
elseif ($regex(%r,<.HTML>)) { unset %phrase.c | sockclose $sockname }
}