Aimlbot

Control Thumbnail

How To Download and Use This Control

  1. Make sure you have the latest version of EZ-Builder installed.
  2. Select the Install button below to download the file.
  3. Double click the downloaded file to open installer.
  4. The installer will add this control to EZ-Builder.

Localized chat bot client that uses AIML. This operates the same as the PandoraBot client, except it runs local by not requiring an internet connection. The AIML configuration files are stored locally and can be edited by hand or with an AIML editing tool.

This control accepts the ControlCommand() to send data from other controls. This means if you use the Bing Speech Recognition, the text data can be sent programmatically from another control, such as...

Code:


ControlCommand("AimlBot", SetPhrase, "This is some text that I am sending")


This control also has the ability to execute a script when the chat result is returned. The script can speak the result using the Say() or SayEZB() command, for example.

Embed EZ-Script and Variables in AIML
AIML responses can embed EZ-Script with square brackets [ and ]. For example, if you load the AIML file t.aiml, you will find this example under the category "test". Search the document for the word "test" and you will see the following response...

Code:


This is just a test $Direction.[say("Testing")]


As you can see in the above example, when the word "test" is entered as a phrase into the artificial intelligence engine, the response includes a variable and a script to run.

Movement Commands
Additionally, there's a few entries in the update.aiml file that demonstrates how movement commands are processed. When the user inputs "Move Forward", the robot will begin moving forward according to the code entered in the update.aiml file.


Editing AIML Files
Please note, the AIML editor requires .Net 3.5 to be installed. The config menu of this plugin has a button to open the AIML config folder or search for a phrase among all AIML files. The file search ability makes it easy to find a response to edit with your own editor, such as with notepad. There's also a built-in editor that I've included, more info below.
User-inserted image


In this configuration menu, you may open the AIML editor directly with the Open AIML Editor button. Otherwise, if you're looking for files related to specific key words, the SEARCH option will be useful. If you're wanting to modify all responses to the word "Banana", type the word "Banana" and press SEARCH. The interface will prompt a menu asking if you wish to open all the files corresponding to that word. 


GaitoBotEditor
There is a built-in editor included called GaitoBotEditor that was created by Springwald Software with no relation to Synthiam. Synthiam cannot support or assist with using this AIML editor, but their online manual is pretty clear. The AIML files will have to be loaded one-by-one into the editor as a new workspace. I don't have much experience with the editor, but it seems to do the trick! The GaitoBotEditor requires .Net 3.5 to be installed.

Config Folder
You can specify the configuration folder to have multiple personalities per project. To do so, the new config folder must contain the CONFIG and AIML folders from the plugin root folder. Simply look in the current config folder of this plugin, and copy the AIML and CONFIG folders into the new folder. Specify the new folder by pressing the change configuration folder button. This value is saved per project.

Source Code
The source code for this plugin can be downloaded here: AimlBot-src.zip

#1  
Dear author of this plug in......I'm trying to run two instances of AIMLBot on separate EZ Builders on the same computer. They both seem to share the same config folder and settings files. Is there a way to load different setting files for each instance?
Synthiam
#2   — Edited
No, you can only have one configuration folder and therefore only one configuration. Every instance of EZ-Builder will use the same configuration files. 

I can modify it to load the configuration from a folder that you specific - if that’s what you require?
#3  
I think this would be a good inclusion. If you ran many robots from a single computer, you could have all of their AIMLBot responses different, giving the illusion of separate personalities. By having different folders, its less likely to have a situation where you could accidentally overwrite the setting file.
#4  
I too would appreciate this option. While I don't run multiple instances at the same time I do have different projects on my windows tablet that would benefit from having different AIML files.
Synthiam
#5  
Okay - I’ll think of something over the weekend
United Kingdom
#6  
Is the source code available for this one?
Synthiam
#7  
I can post it tonight when I’m in front of a pc for ya
Synthiam
#9   — Edited
You can now specify the folder for the configuration files. The new folder requires the AIML and CONFIG folders from the plugin folder to be copied. 

The source code is available as well - in the description of the plugin
#10  
Thank you! This will come in very handy for many of us.
#12  
Is there a way to save information from a session? For example if I tell the bot my name it remembers it for that session but when I exit and restart it's back to unnamed user.
Synthiam
#13  
Not presently. You can edit the config files to set default values. Perhaps I can add ControlCommand() that allows you to set values. That way you can save them with the project to a text file or something.
#14  
Ok, I can manually edit the file. That's the only thing I miss from my robot lab, the program ab chatbot. But Synthiam is far better at everything else.
Synthiam
#15   — Edited
@danf - that's an easy fix - i can just add that functionality. Another reason we're better is we'll make changes based on user feedback:D. I forgot about my robot lab, is that still around?
#16   — Edited
MRL is still around. Focusing on Inmoov as always. Their AIML implementation of ProgramAB is really good. ProgramAB operates against the AIML 2.0 standard though which offers a lot more possibilities. Synthiam (you) could reproduce all that or figure out a way to adopt and upgrade to the 2.0 standard. Putting bandaids on 1.0 which is no longer supported does not seem the way to go.

The Pandorabots plugin is 1.0 as well while their site has moved on to 2.0. We are using a legacy backdoor. I had asked previously and you investigated and there was some reason that it was not easy to do. I can't remember what that was. Would be nice though.
#17  
I started building a chatbot using Pandorabot 2.0.  Is it possible to import some of the AIML files from it to use with AimlBot?

User-inserted image
United Kingdom
#18  
Sorry for the newbie question. If I edit the config file to make my own questions and responses and save it, will it be stored for the future?

Also, is it possible to talk the bot verbally and teach it things. For example your name is max and then it remembers it?
Brazil
#19  
Olá, Como configurar o AimlBot e existe um vídeo explicativo sobre este plugin?
Synthiam
#20  
Sorry, i don't think there is an explanation video for the plug-in. I looked but I couldn't find one.
#21  
what files do I modify / edit to make my own responses in aiml.Bot?