Update: Now part of Internet Sensors project: https://reactivemusic.net/?p=9834
original post
Looking into using an API to communicate with chatbots
Here is info from pandorabots FAQ: http://www.pandorabots.com/botmaster/en/~15580d493a63acc7fab1820f~/faq
Chomsky bot id: botid=b0dafd24ee35a477
H.2 Is there an API allowing other programs to talk to a Pandorabot?
Pandorabots has an API called XML-RPC that you can use to connect third-party software to our server. The XML-RPC has been used to connect Pandorabots to a wide variety of third-party applications, including Mified, mIRC, Second Life and Flash.
You may interact with Pandorabots as a webservice. Pandorabots offers consulting services supporting arbitrary web services for premium services customers. Please contact [email protected] for more information.
A client can interact with a Pandorabot by POST’ing to:
- http://www.pandorabots.com/pandora/talk-xml
The form variables the client needs to POST are:
- botid – see H.1 above.
- input – what you want said to the bot.
- custid – an ID to track the conversation with a particular customer. This variable is optional. If you don’t send a value Pandorabots will return a custid attribute value in the <result> element of the returned XML. Use this in subsequent POST’s to continue a conversation.
This will give a text/xml response. For example:
<result status="0" botid="c49b63239e34d1d5" custid="d2228e2eee12d255"> <input>hello</input> <that>Hi there!</that> </result>
The <input> and <that> elements are named after the corresponding AIML elements for bot input and last response. If there is an error,status will be non-zero and there will be a human readable <message> element included describing the error. For example:
<result status="1" custid="d2228e2eee12d255"> <input>hello</input> <message>Missing botid</message> </result>
Note that the values POST’d need to be form-urlencoded.
[update}
Here are two examples I just got to work using curl
curl -X POST --data "botid=b0dafd24ee35a477&input=hello" http://www.pandorabots.com/pandora/talk-xml curl -X POST --data "botid=b0dafd24ee35a477&input=Where are you?" http://www.pandorabots.com/pandora/talk-xml
<result status="0" botid="b0dafd24ee35a477" custid="b3422b612633ac87"><input>Where are you?</input><that>I am in the computer at Pandorabots.com.</that></result>