Thumbnail

Bot Libre

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

+ How To Add This Control To Your Project (Click to Expand)
  1. Make sure you have the latest version of ARC installed.
  2. Select the Get button in this page to download the archive file.
  3. Double click the downloaded archive file to execute installer.
  4. The installer will add this control to ARC.
  5. Load ARC and press the Project -> Add Control button from the menu.
  6. Choose the Artificial Intelligence category tab.
  7. Press the Bot Libre icon to add the control to your project.

Manual

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 https://botlibre.com

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 botlibre.com 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 botlibre.com and edit the bot to set it as private.
User-inserted image



TO DO


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

PRO
USA
#1  
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
PRO
Synthiam
#2  
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?
PRO
Synthiam
#3  
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.
PRO
USA
#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
PRO
USA
#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
PRO
Synthiam
#6  
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
PRO
USA
#7  
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
PRO
Synthiam
#8  
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
PRO
Synthiam
#9  
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
PRO
USA
#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  :-)
PRO
USA
#11  
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
PRO
Synthiam
#12  
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!
PRO
USA
#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.
PRO
Synthiam
#14  
Nice! I will be adding the control commands today - so it should be done by the time you're off work
PRO
USA
#15  
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.
PRO
Synthiam
#16  
Are they all marked as private? I'll take a look into that as well
PRO
Synthiam
#17  
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.
#18  
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
PRO
Synthiam
#19  
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
#20  
This looks fun do I need to be a Pro member to try this out with Synthiam software?
PRO
USA
#21  
@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.
PRO
USA
#23  
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?
PRO
USA
#24  
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
PRO
Synthiam
#25  
Sounds like perry will be teaching us how to use it, will:)
PRO
USA
#26  
Yes! I will be interested in building out an AI Template. I’m going to look deeper into this one.
PRO
USA
#27  
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.

Code:

controlCommand("Bot Libre", "Send", $BingSpeech)
Now you can just talk to it with no typing.
PRO
Synthiam
#28  
Nice! That's a good idea
#29  
Thanks Perry for all your great work in getting this working !!!! 
:)*cool*:)

Thomas
PRO
Synthiam
#30  
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
PRO
USA
#31   — Edited
Mine is working again, who knows lol

User-inserted image


EzAng your tester

followed Perry's advice
PRO
USA
#32  
Hi DJ, Any news on accessing multiple bots through the drop down list?
PRO
Synthiam
#33  
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:)
PRO
Synthiam
#34  
Perry - the latest update has a fix for listing all personal bots
PRO
USA
#35  
Thanks DJ, I was wondering if that was on your side or theirs but I noticed it last night.
PRO
Synthiam
#36  
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
PRO
USA
#37   — Edited
works well again

thanks
PRO
USA
#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.
PRO
Synthiam
#39  
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.
PRO
USA
#40  
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.
PRO
USA
#41  
Thanks Perry, that was really detailed.
PRO
USA
#42  
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
#43  
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.