alias urlencode {
var %a = $regsubex($$1,/([^\w\s])/Sg,$+(%,$base($asc(\t),10,16,2)))
return $replace(%a,$chr(32),$chr(43))
}
alias nohtml { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x } alias -l htm { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x }
on *:text:*:?: {
set %querynick [ $+ [ $address($nick,2) ] ] $nick
set %saytext [ $+ [ $address($nick,2) ] ] $urlencode($1-)
if (!%chatbot. [ $+ [ $address($nick,2) ] ]) {
if ($sock(getbot| [ $+ [ $address($nick,2) ] ])) .sockclose getbot| [ $+ [ $address($nick,2) ] ]
sockopen getbot| [ $+ [ $address($nick,2) ] ] www.alicebot.org 80
}
if ($sock(chatter| [ $+ [ $address($nick,2) ] ])) .sockclose chatter| [ $+ [ $address($nick,2) ] ]
else sockopen chatter| [ $+ [ $address($nick,2) ] ] www.pandorabots.com 80
}
on *:SOCKOPEN:getbot|*: {
sockwrite -nt $sockname GET / HTTP/1.1
sockwrite -nt $sockname Host: www.alicebot.org
sockwrite -nt $sockname
}
on *:SOCKREAD:getbot|*: {
if ($sockerr) {
msg %querynick [ $+ [ $gettok($sockname,2,124) ] ] Socket Error - Name: $sockname Error code: $sockerr $+ . Please inform $me of this error message
halt
}
else {
var %sockreader
sockread %sockreader
if (*Free Live Chat:* iswm %sockreader ) {
noop $regex(%sockreader,/botid=(.*?)">/Si)
set %chatbot. [ $+ [ $gettok($sockname,2,124) ] ] $regml(1)
if ($sock(getvalid| [ $+ [ $gettok($sockname,2,124) ] ])) .sockclose getvalid| [ $+ [ $gettok($sockname,2,124) ] ]
sockopen getvalid| [ $+ [ $gettok($sockname,2,124) ] ] www.pandorabots.com 80
sockclose $sockname
halt
}
}
}
on *:SOCKOPEN:getvalid|*: {
sockwrite -nt $sockname GET $+(/pandora/talk?botid=,%chatbot. [ $+ [ $gettok($sockname,2,124) ] ],&skin=custom_input) HTTP/1.1
sockwrite -nt $sockname Host: www.pandorabots.com
sockwrite -nt $sockname
}
on *:SOCKREAD:getvalid|*: {
if ($sockerr) {
msg %querynick [ $+ [ $gettok($sockname,2,124) ] ] Socket Error - Name: $sockname Error code: $sockerr $+ . Please inform $me of this error message
halt
}
else {
var %sockreader
sockread %sockreader
if (** iswm %sockreader ) {
noop $regex(%sockreader,/value="(.*?)">/Si)
set %botcust2. [ $+ [ $gettok($sockname,2,124) ] ] $regml(1)
if ($sock(chatter| [ $+ [ $gettok($sockname,2,124) ] ])) .sockclose chatter| [ $+ [ $gettok($sockname,2,124) ] ]
sockopen chatter| [ $+ [ $gettok($sockname,2,124) ] ] www.pandorabots.com 80
sockclose $sockname
halt
}
}
}
on *:SOCKOPEN:chatter|*: {
var %sendstring = $+(&botcust2=,%botcust2 [ $+ [ $gettok($sockname,2,124) ] ],&input=,%saytext [ $+ [ $gettok($sockname,2,124) ] ])
sockwrite -n $sockname POST $+(/pandora/talk?botid=,%chatbot. [ $+ [ $gettok($sockname,2,124) ] ],&skin=custom_input) HTTP/1.1
sockwrite -n $sockname Host: www.pandorabots.com
sockwrite -n $sockname Content-Length: $calc($len(%sendstring) + 1)
sockwrite -n $sockname Content-Type: application/x-www-form-urlencoded
sockwrite -n $sockname $crlf %sendstring
}
on *:SOCKREAD:chatter|*: {
if ($sockerr) {
msg %querynick [ $+ [ $gettok($sockname,2,124) ] ] Socket Error - Name: $sockname Error code: $sockerr $+ . Please inform $me of this error message
halt
}
else {
var %sockreader
sockread %sockreader
if (*
*ALICE:* iswm %sockreader) {
msg %querynick [ $+ [ $gettok($sockname,2,124) ] ] $remove($nohtml($right(%sockreader,- $+ $poscs(%sockreader,ALICE:,$count(%sockreader,ALICE:)))),LICE:)
sockclose $sockname
halt
}
}
}