Bot Libre

by Bot Libre

Powerful AIML2 chatbot client for ARC using the Bot Libre opensource cloud service

How to add the Bot Libre 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 Bot Libre 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 Bot Libre robot skill.

How to use the Bot Libre robot skill

AIML2 chatbot client for ARC using the Bot Libre free open source cloud service. Bot Libre lets anyone create a chatbot for their robot with unique and customizable personalities.

User-inserted image

Get Started

  1. Visit

  2. Press Sign Up (don't worry it's free) User-inserted image

  3. Verify the email that Bot Libre will send to you. This email verification must be done in order for the API calls to work, otherwise you will receive an error when using this robot skill. User-inserted image

  4. Activate the API by obtaining an "Application ID" in Bot Libre's "User Settings". Click User Settings from the top menu of the website under your username. Then press the "Obtain" next to Application ID. This step is also required for the API calls of the robot skill to work. User-inserted image

  5. Press the BOTS icon and New Bot User-inserted image

  6. Give your bot a name and select it to be built off an existing bot. It's best to make your bot private as well using the checkbox for Private. User-inserted image

Using in ARC

In arc, you will enter the username and password of the website in the config window. Then, press the Refresh Bot List button and select the bot you wish to use. Your bot will only display in Private if it is marked as private when it was created on bot libre's website. Otherwise, you can revisit and edit the bot to set it as private. User-inserted image


  • add option to play the audio generated from the bot
  • parse response for [ scripts ] to display embedded scripts


Upgrade to ARC Pro

Experience early access to the latest features and updates. You'll have everything that is needed to unleash your robot's potential.


Giving it a try now but having trouble connecting to their service when I try to load in my bot. I have created the bot and can use it directly on their site.

Have you seen this error before?

User-inserted image


I haven’t but I’ll make a few changes on another build to help debug it. Their api appears to be documented well but it’s quite finicky. I spent quite a bit of time in the last week trying to get it working.

If you uncheck only my bots, does anything show up in select bot drop down?


Perry - try this Version #3 update. I was able to extract additional error information from the request. So we should see a more detailed message rather than generic "Bad Request". Let me know what you experience.

#4   — Edited

I am getting IP has been banned for the day, max invalid app ID attempts Fix error and press Connect menu option to connect to the server

will try tomorrow

User-inserted image

#5   — Edited

Hi DJ, V3 does produce a more detailed error code. Kinda feel sorry for the person that has to try to decode it.

User-inserted image

Problem being each time I try to get a connection I get a new error code. They are never repeated. User-inserted image


Are you able to view public bots? the checkbox isn’t checked is public bots

and haha - that’s my life... looking at code and making robot software


No luck with public bots either. Just assume going ahead that I am trying both ways. I am seeing that my instance ID box never populates aw in your example but perhaps that would happen after a successful connection


The instance id is populated when the bot is selected. But you have to login first

hmmm let me try something else. I’m wondering if there’s a setting when creating a bot libre account that is missing. I’ll have to try creating an account from scratch and see if there’s anything I missed.

Let me check it out and get back to ya


Check steps #3 and #4 in the tutorial above. It seems the API Application ID must be obtained by pressing the "Obtain" button in your user settings on the Bot Libre website.

User-inserted image

#10   — Edited

Mine works on their site - I use my computer mic to speak -

User-inserted image

on Arc

worked once then stopped

User-inserted image

now it works

User-inserted image

works some times  :-(  ran out of juice, try  next week

every company needs a test department

EzAng your tester  :-)


I saw that DJ but when I click on it I get assigned an affiliate link to get paid when other people click on my chatbot so I did not do it. I will give it a try though


Click on the "Obtain" button. Do not click on "Affiliate Link". While they're close to each other on the screen, they are two separate things on two separate lines. Lemme know!

#13   — Edited

That did it DJ. Either that or the V4 update. Those links were just too close together for me to notice they were two different links. I will spend some more time with it today after work to see how smart I can get this guy.


Nice! I will be adding the control commands today - so it should be done by the time you're off work


Also of note I have created more than one bot on their site. When I refresh the bot list only the last bot created appears in the drop down even though multiple are available on their site.


Are they all marked as private? I'll take a look into that as well


Hmmm I seem to experience that same behavior. I have 3 bots but only one ever shows up as "Private". They're all marked as private in the settings, but only one gets returned through the API and only one is displayed when i filter PRIVATE through their webpage.

I emailed them to ask what is going on - must be a setting somewhere...

Anyway, the latest version of the plugin skill supports control commands so you can send commands programmatically now.


That is so cool! Thanks again DJ! You are the best!!! :D:D:D

I will have some time on Saturday to try it. I have spent a whole lot of time customizing the original 1.x AIML in AimlBot for my Simone robot. There are literally THOUSANDS of changes needed to change ALICE (the chatbot) into SImOne (the robot).

And ALICE is a blank slate. She knows almost nothing. I suppose I will spend the next year adding content to her so she can have a real conversation.

Thomas Messerschmidt


Haha ya I hear ya. There’s so much potential with this bot.

@perry, I’ve been in contact with bot libre about querying the private filter not returning more than 1 bot. They’re a bit slow to respond but I’m sure they’ll have a fix or solution soon


This looks fun do I need to be a Pro member to try this out with Synthiam software?


@thomasfromla - looking at some of the documentation on the site it looks like you can start with an ALICE template. From there you have the ability to import AIML files so perhaps it might be as easy as importing your current AIML files. I haven't figured out how to do that yet.

@robo rad - Not sure but I think you can use this as your one allowed plug-in. Give it a try and let us know.


What bots are you guys using as a template. I've tried 3 and each one is typical only answers questions. Is there a way to have conversation, where the bot asks you questions?


Hi Will, I have been playing around with this a bit. It is important to understand how the bot is setup on their website. There are many options and the tutorials are not all that great. Where you want to start depends on what you want to do. Also, until the bug is fixed you can only have one bot at a time on their website to import. I have made and deleted a few of each. I have had the most entertaining time with the AI Template. Base your bot off that if you want a learning based robot. It can remember responses. You can import information to talk about and I am still learning about that.

The tutorial above will get you through most of the process, just use the AI template and at some point in the future import chat logs and AIML scripts.

We'll be working through this together


Sounds like perry will be teaching us how to use it, will :)


Yes! I will be interested in building out an AI Template. I’m going to look deeper into this one.


If you would like to speak to your bot instead of typing to it you can easily use the Bing Speech recognition. Here is the basic setup I have. User-inserted image

In the Bing configuration where it says 'All recognized script' put in this line of code.

controlCommand("Bot Libre", "Send", $BingSpeech)

Now you can just talk to it with no typing.


Nice! That's a good idea


Thanks Perry for all your great work in getting this working !!!!  :)cool:)



No prob! Like perry said, there’s A LOT to it so be prepared to learn their options and settings. I have to read more of what aiml2 is and how to program it

#31   — Edited

Mine is working again, who knows lol

User-inserted image

EzAng your tester

followed Perry's advice


Hi DJ, Any news on accessing multiple bots through the drop down list?


No word from the developers yet. I figure they’re working on it. With a project of their size, I imagine it’ll be a bit. Not everyone works as fast as us :)


Perry - the latest update has a fix for listing all personal bots


Thanks DJ, I was wondering if that was on your side or theirs but I noticed it last night.


It was a combination of both sides, ugh. :)

Their documentation for the API is outdated and doesn't mention any parameter to "filter by personal bots". The only option they documented was "filter private". But even the filtering of private didn't work because our private bots would only list 1 of the many. Their email responses when i raised the issue told me it was because my bots weren't configured correctly. Anyway, this went on for a while where i believe they actually checked and realized "oh man, this guy is right its is broken"

So they got back to me this morning with an email that said to use a different api call, which is not documented anywhere... with a parameter, that is also not documented anywhere :)

Needless to say, it magically works now haha

#37   — Edited

works well again


#38   — Edited

We'll I have spent some time working with Bot Libre now and I would like to share some first impressions as well as high points and disappointments

As you have seen above I made a simple app with everything needed to speak and listen to bot libre. here is what I found.

Pros  -The web interface is easy to use to create a bot based on their templates. -DJ has done a great job of integrating their services.  -They have a couple of different templates and scripts to import that are good.  -It can offer limited learning abilities on things like names. -They track bot emotion - that is cool

Cons -It seems to be a dead site and the forum has listings to 2016 as most recent

  • The "AI" is not AI by any means.
  • They say they support AIML 2 but they don't really, they translate it into their SELF language which make for a lot of confusion for those of us looking for AIML. -The AIML scripts they have on their site have errors when trying to import so you do not get to use them.

-They have an AI competition which is a really cool idea having different chatbots talking to each other. That would be really cool. The clear winners seem to be pretty dumb when you talk to them one on one.

Summary -In my opinion this is on par with the Pandorabots plugin that currently exists. I still feel that Pandorabots 2.0 is the golden key. It is the industry leader and perhaps a plugin could support their use with a pay subscription now that we are in pay subscription territory.

Second Summary My dream of a talking bot that I can talk to is still way off. I seek a fully interactive AI. But I guess if those really existed they would have me working in the dilithium mines. I can tell a bot is a bot in 2 questions. That is sad.


Alright! That's great feedback. I'll get started on a pandorabot 2.0 skill for ya :D. Excited to see what you can do with it.


Thanks DJ. I think a good first step before migrating would be for yourself and perhaps Jeremy or PTP (he's good at this stuff) go in with a programmers mindset and see if you can take a couple hours and create a bot that it truly interactive. Really give it a run through and see what the talent can create. I don't want you to have to do a lot of reprogramming because I many not be the best person to interpret their platform.


Thanks Perry, that was really detailed.


DJ, I am retroactively thanking you for adding this. It might be our best option right now. Starting to spend more time with it. It's not the cure all but with Pandoarabots gone...

I am really surprised that with all the stuff that gets developed a simple learning conversational bot is not a reality. A little puck that talks to you like a friend or something. Empowered by the endless depth of knowledge available on the internet. I know it's hard but it is probably hard to code an app that puts a stupid sets of bunny ears on you in real time for your phone as well. Sheesh,    /rant


I too worked some with Bot-Libre but ran into a lot of roadblocks including that "SELF" language which totally through me off. For the time being, I have returned to AIML 1.

Currently, besides my work on Simone the fembot, I am building a conversation tree template in MS Excel to facilitate the logic and text in producing chatbot topics with the goal of being able to have a real conversation. You can't build a topic one line at a time. You need complex conversation trees. Alice could never carry a real conversation.  Alice has very few conversation trees (and a lot of mistakes!) out of the box. As you may know, a conversation tree, like a common programmer's flow diagram, lets you plan your bot's conversation. If you start with a 4 x 4 matrix of input and output and then allow each individual category on each level to go to 4 x 4 , you end up with quite a few categories, but you might just end up with a good conversation. Yes, it is manually intensive, but it is the only way that I think to make AIML smart. Brute force works in playing games like chess and it could work in AIML as well.

Simone the AI fembot, by the way, is physically complete and has basic voice operated servo control. My first servo Magazine article has been published and it is ON THE FRONT COVER. As I am using an EZ-B and ARC, Synthiam is getting a lot of free press. You're welcome.

DJ, would you please let me know of any big ARC changes coming down the pike? I have uploaded sample code here and will be putting it on github as well. As you are well aware, ARC changes will often require changes in the code for me and my readers/builders.


I can't integrate the robot skill "bot-libre". After the installation, I can enter the userid and password, but I can't enter the "Application ID", the field cannot be activated. Does anyone have a tip for me?


From the manual above:  User-inserted image


In arc, you will enter the username and password of the website in the config window. Then, press the Refresh Bot List button and select the bot you wish to use. Your bot will only display in Private if it is marked as private when it was created on bot libre's website. Otherwise, you can revisit and edit the bot to set it as private.

Also, there is no field named "application id". The field is named "Instance ID" - make sure you're referring to the correct robot skill.

@Athena can you translate the robot skill instructions and manual to german for fredhess? Thanks


Sicher! Hier ist die Anleitung für den Bot-Libre-Roboter-Skill:

  1. Installieren Sie den Bot-Libre-Roboter-Skill in ARC.
  2. Gehen Sie zu Bot Libre und erstellen Sie ein Konto.
  3. Klicken Sie auf "Mein Konto" und dann auf "API-Anwendungs-ID abrufen".
  4. Kopieren Sie die API-Anwendungs-ID und fügen Sie sie in das Feld "Instanz-ID" im Bot-Libre-Roboter-Skill in ARC ein.
  5. Geben Sie Ihre Bot Libre-Benutzer-ID und Ihr Passwort ein.
  6. Klicken Sie auf "Verbinden".

Wenn Sie weitere Fragen haben, lassen Sie es mich bitte wissen.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.

@athena please also let Fredhess know that the "Instance ID" field will only be updated if the instructions are followed? Tell him that in german. thanks


@fredhess Bitte beachten Sie, dass das Feld "Instanz-ID" nur aktualisiert wird, wenn Sie den Anweisungen folgen.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.