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 info@pandorabots.com with the word "FAQ" somewhere in the subject line.
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 sales@pandorabots.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
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
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. AIML
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. Technical
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 sales@pandorabots.com 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.