How to add the Pandorabots robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the Artificial Intelligence category tab.
  5. Press the Pandorabots icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the Pandorabots robot skill.

How to use the Pandorabots robot skill

This skill will send the text you enter to the Pandorabots online server via ControlCommand(). The Pandorabots online server will respond to you with a message from the artificial intelligence engine. By default, we have a Synthiam Pandorabot set up on the Pandorabots online server that you can use or create your Pandorabot.

Main Window

1. Text Display
This displays your text from the text entry field and the responses from the Pandorabot.

2. Send Button
This button sends the text from the text entry field to the Pandorabot.

3. Text Entry Field
This field is where you enter your questions for and responses to the Pandorabot.


1. Pandorabot ID field
This is the Synthiam's unique ID for our Pandorabot. It's not recommended that you change this ID unless you create your own Pandorabot.

2. Username field
This field contains your Synthiam user name.

3. Response Variable Field
This variable holds the response from the Pandorbot.

4. Response Script
When the response is received from the Pandorabot this script is activated.

Code Samples

If you configure your own bot, you may also include a script within the bot response. ARC will execute scripts that are located within the [ and ] characters. For example, this response below includes EZ-Script that will be executed:

"Hello, I am a bot. [Servo(d2, 20)]"

Another speech recognition skill, or your own script can send phrases to this Pandorabot skill via ControlCommand(). For example, if you are using the Bing Speech Recognition skill, you would have that skill send the detected phrase to the Pandorabot skill using this command:

ControlCommand("PandoraBot", SetPhrase, $BingSpeech)


This ARC skill requires an internet connection, which means you may need your EZB to be in Client Mode and connected to a router. View the EZ-B v4 WiFi Modes Activity to change the mode. The skill will connect to the Pandorabot A.I. Server, which allows you to have a verbal conversation with your robot. This skill uses the local language dictionary, so a headset or nice microphone is necessary. Also, you will benefit from training the computer for your voice if you have not already done so.


If you would like to host the AIML configuration locally and not require the Pandorabot service, there is a fantastic skill. Check out the AIMLbot Skill.

Visit Pandorabots, and you can set up your own unique A.I. bot. By default, the skill is configured with the Synthiam Pandorabot.

Speech Recognition
This skill does not include a speech recognition system. You must combine this skill with another speech recognition skill, such as Bing or Microsoft Speech. Here are some speech recognition skills to use with this system:



Upgrade to ARC Pro

Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.


While using the Pandorabots skill I came across some interesting things:

  1. When the "Speak Responses" checkbox is selected, ARC will automatically pause the Speech Recognition skill but only for the duration of the response.

  2. When the "Use EZ-B v4 speaker" checkbox is selected, ARC will automatically pause the Speech Recognition skill and keep it paused.

  3. When a Pandorabots response is received the sound will play out of the EZ-Bv4 or PC speaker (depending on checkboxes selected) but when combined with the Talk servo skill, the response will take place and the Talk servo will move after the response is played. So the sound and movement are out of sync.

My Questions are:

  1. Could we get a checkbox to be able to disable the pausing of Speech recognition? I would like to explore the possibility of having the robot trigger its own actions with the Speech Recognition skill based upon responses from Pandorabots.

  2. Is it possible to sync up the Pandorabots response with Talk servo movement?


#2   — Edited

I did a bit more testing with 3. above and found that if I use Bing Speech recognition to send a received message to Pandorabots it will sync up perfectly with Talk Servo, it seems to only happen out of sync when I type and send a message with the keyboard.

Sorry, one more question: What is the Javascript equivalent of this EZ-script?

ControlCommand("PandoraBot", SetPhrase, $BingSpeech)

I thought it was:

ControlCommand("PandoraBot", "SetPhrase", $BingSpeech); 

The compiler doesn't like the variable being in the last position, it seems to accept only "text".

#3   — Edited

in Bing Speech Recognition I put for javascript:

ControlCommand("PandoraBot", "SetPhrase", getVar("$BingSpeech"));


Read this page


Thanks for the help guys. All good now! With a bit more fooling around I found that I could just use another ControlCommand() to Pause/Unpause the Speech recognition. Whoops, my bad! Classic feature is already there without me being aware.

Code sample for others who may wander down this path:

controlCommand("Speech Recognition", "PauseOff");

I am getting this same error with Pandorabot... "Error on line 3: Missing String Quotes or Invalid Expression at index 0" Often the $BotResponse value is unusable as it contains linefeeds and other characters which cause an invalid expression error. Is there a update on this Control which addresses this problem?

#7   — Edited

Can you give us an example of a sentence that will trigger an error like that? The pandora bot response comes from their server and may be mal-formed. We can most likely filter their incorrectly formed responses.

*Note: We moved your question here to the PandoraBot robot skill


It is the same as used to be the case with the Aimlbot. "What is your favorite movie?". Response will be "My fav<LF> movie is 2001 a Space Oddessey..." There are probably others but that's the only one I can repeat consistently.