Pandorabots Frequently Asked Questions
This FAQ (Frequently Asked Questions) list is a work in progress - if you have any comments or suggestions for questions to include, please send e-mail to firstname.lastname@example.org with the word "FAQ" somewhere in the subject line.
A.1 How does Pandorabots provide support?
Pandorabots offers two classes of service: free and premium.
The free server is located at www.pandorabots.com, and support occurs primarily through community efforts at forum.pandorabots.com (comming soon).
Premium support occurs with Pandorabots staff directly and is available through a variety of plans.
Sign up for Pandorabots Premium service to get premium Pandorabots support and to help us make Pandorabots even better. By becoming a premium member, you will receive our direct and immediate attention. You will also gain access to additional Pandorabot services that will extend and improve your pandorabot's capabilities, beyond those currently available on the free server. Contact email@example.com for more information.
There is a lively and growing community of botmasters using Pandorabots. If you have a question or want to open up a general discussion you can post to the Pandorabots forum .
For more general AIML questions not related directly to the Pandorabots service you should visit the A.L.I.C.E and AIML Forum.
A.2 what happened to the mailing lists?
From 2002 to 2010 the primary method of communication among the Pandorabots community was a mailing list. In this age of social networking however, several new and better options have appeared. Pandorabots studied several of these in detail, and chose a new forum system loosely on a popular forum known as stackoverflow. We replaced the mailing list with a new forum located at http://forum.pandorabots.com .
Depending on performance, we may choose to replace the existing forum if we encounter scaling problems. Should we choose this path, the replacement will be very similar in functionality.
B. Hosting and Publishing
B.1. How can I put my Pandorabot on my own web page?
Pandorabots is a bot hosting service and the bot must be published at Pandorabots.com. However, you can embed a Pandorabot within a frame on your webpage. Create an html frameset containing a frame with:
If you don't need the published page to be embedded within one of your own pages, you can still upload customized HTML to change the appearance of the bot's published page. For basic HTML customization, take a look at:<frame src="http://www.pandorabots.com/pandora/talk?botid=....">
http://www.pandorabots.com/pandora/pics/pubhtml.htmlFor more advanced customization (including using Sitepal), take a look at:
http://lists.pandorabots.com/pandorabots-general/2003-May/000038.html[For Oddcast Sitepal bots see also E.1.]
[For information on how to set up a Flash interface for your Pandorabot see also H.3.]
B.2. What link can I give to others so that they can talk to my Pandorabot?
Click on the name of your bot on the My Pandorabots page and you'll be taken to page which will show you the link(s) through which your published bot can be accessed. If your bot is not yet published, you'll need to first publish it. You can do that by clicking on the "publish" link on this same page.
C. Botmaster Control
C.1. Training my chatbot doesn't seem to be having any affect. Why might that be?
Firstly, after specifying an alternate response, try re-asking the same question using the Training interface (you can simply click on "Ask Again"). If that works then the AIML for your bot has been correctly updated. What you then need to do is publish those updates so that clients talking to your bot via the published URL will see the changes. You can do this by clicking on the name of your bot to get to the summary page. On this page you should see some text like this:
“You have made changes to the pandorabot since it was last published. You must republish the pandorabot to make these changes available for others.”Until you click on the "republish" link your changes will not have any affect for clients chatting with your bot. This feature allows you to try out some AIML changes (either by using the Training interface or by editing the AIML files directly) and only make them public when you're satisfied that they're working correctly.
D. Instant Messaging
D.1. Does Pandorabots support Instant Messaging Services?
At this time, we are unable to offer a comprehensive IM solution on the free server. We do offer IM options as part of our premium service, and for more information, please send e-mail to firstname.lastname@example.org with the word "IM" somewhere in the subject line.
D.2. What are the issues involved with supporting Instant Messaging and what options are available on the free server?
Supporting various IM protocols poses difficult challenges because each one requires custom code and moreover it seems that most protocol interfaces undergo continuous undocumented change. One way to lower the burden and cost of maintaining an IM service for Pandorabots would be to allow all pandorabots to communicate with other IM clients (on variety of IM networks) by connecting to them through our own XMPP Server (meaning: Extensible Messaging and Presence Protocol server - and formerly known as a Jabber server - see wikipedia for more details) via a Gateway. However this approach leads to another question: How can one manage user accounts on the XMPP Server? Also we still have to maintain the service in the face of the many changes (protocol changes and other types of changes) occurring in other IM networks - and this is very time consuming. In short, at the time of this writing, we are unable to allocate sufficient resources to offer a comprehensive IM solution for the free server.
There are a variety third-party solutions available for individual IM networks. Please visit http://forum.pandorabots.com for more information.
D.3. Can I create my own IM gateway?
Pandorabots has an API called XML-RPC for connecting third-party software to our bot hosting service. If you have programming skills, you can write your own software to connect your bot to IM services. See section H.2 for specific information.
E. Oddcast Sitepal
E.1. What HTML do I cut and paste to put my Sitepal Pandorabot onto a web page?
Unfortunately the way the integration between Pandorabots and SitePal is designed, it's not possible to simply cut and paste some code into a page on your own site. Basically the page serving the bot's responses must come from pandorabots.com. However, there are several ways you can achieve the affect that you want. Take a look at:
F. Customized HTML
F.1. The conversation logs for my Customized HTML bot, consist of lots of separate 1-line conversations. How can I fix that?
Pandorabots normally tracks individual conversations by placing a cookie on the client's browser. If the client's browser is not setup to accept the cookie, an alternative mechanism is through a hidden form variable within the form. This hidden form variable is created automatically if you're using the standard Pandorabots response (ie. no customized HTML), but if you create your own customized HTML page, you need to include the marker !CUSTID! somewhere within the form. Without this, the hidden form variable will not be included in your pandorabot's response, and conversations will not be correctly tracked if the client's browser does not accept cookies.
An example showing how to include the marker in a customized HTML file can be seen here.
F.2. How can I show the recent conversation history when using Custom HTML?
The default “Plain Text” appearance of a published bot includes the recent conversation history. When using a Custom HTML file you have complete control over the appearance of the published bot. In order to show the conversation history you have to include some special embedded AIML in your Custom HTML file.
Inserting a <template> element in a Custom HTML file causes the AIML interpreter to evaluate the template in the current bot context (ie with all the predicates and using the current that, and topic contexts). It then inserts the result of evaluating the template into the published HTML page.
Combining this feature with the full power of AIML template processing allows us to create the following Custom HTML fragment which will result in the inclusion of the 4 most recent user inputs and the bot's responses. Just add this code to your Custom HTML file where you want the conversation history to appear.
<template> <think> <set name="_history_1"><request index="1"/></set> <set name="_history_2"><request index="2"/></set> <set name="_history_3"><request index="3"/></set> <set name="_history_4"><request index="4"/></set> </think> <condition name="_history_1" value="*"> <i><b>Human:</b></i> <request index="1"/><br/> <i><b><bot name="name"/>:</b></i> <response index="1"/><br/> <br/> </condition> <condition name="_history_2" value="*"> <i><b>Human:</b></i> <request index="2"/><br/> <i><b><bot name="name"/>:</b></i> <response index="2"/><br/> <br/> </condition> <condition name="_history_3" value="*"> <i><b>Human:</b></i> <request index="3"/><br/> <i><b><bot name="name"/>:</b></i> <response index="3"/><br/> <br/> </condition> <condition name="_history_4" value="*"> <i><b>Human:</b></i> <request index="4"/><br/> <i><b><bot name="name"/>:</b></i> <response index="4"/><br/> <br/> </condition> </template>
The predicate and condition elements are used to avoid showing blank history elements at the beginning of a conversation. The contents of the template could be trivially changed to change the order of the history (recent to old versus old to recent), the amount of conversation history shown (up to 10 interactions), or the layout of the conversation history. Just remember that within the <template> element everything must be valid AIML - consequently it most be valid XML - so any HTML tags must be XHTML-like. For example, note the <br/> element. Using simply <br> (ie without the /) will not work. (If you use the Pandorabots on-line Custom HTML editor, it will catch this when you try to save your Custom HTML file.)
G.1 Can I change the name of my Pandorabot?
You cannot change the name of the bot as it appears in the list of bots in 'Botmaster Control'. However, you can change the bot's name for the processing of any AIML templates - this is controlled by the value of the 'name' property.
To change this, from 'Botmaster Control', click on 'Edit', change the property 'name' and click on 'Set Bot Properties'. If you then ask your bot its name it should reply with the new name.
H.1 What is a "botid"?
The botid is is that part of the Pandorabot's published URL after 'botid='.
For example, the Divabot linked to from the Pandorabots home page has a published URL of:
You can find the published URL of your bot by publishing it in Botmaster Control and then examining the URL of the link to your published bot.
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@example.com for more information.
A client can interact with a Pandorabot by POST'ing to:
The form variables the client needs to POST are:
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.
H.3 How can I integrate my Pandorabot into a Flash component?
Using the XML-RPC API described above, you can create a Flash component which collects user input and displays your Pandorabot's response. This component can be served directly from your own site. To do this requires programming the Flash control to make the appropriate HTTP request to the Pandorabots server and parse the XML response.
Jamie Durrant has written a very nice tutorial showing exactly how to do this: