All pastes #374621 Raw Edit

Mine

public text v1 · immutable
#374621 ·published 2007-02-27 18:45 UTC
rendered paste body
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:</em></b>* 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 (*<input type="hidden" name="botcust2" value="*">* 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 (*<br><b><em>*ALICE:* iswm %sockreader) { 
      msg %querynick [ $+ [ $gettok($sockname,2,124) ] ] $remove($nohtml($right(%sockreader,- $+ $poscs(%sockreader,ALICE:,$count(%sockreader,ALICE:)))),LICE:) 
      sockclose $sockname  
      halt 
    } 
  } 
}