UPDATE: 06th December 2003
ALIMbot consists of two important parts.
TYPE: ActiveX Control
PROGRAMMING LANGUAGE: Visual Basic 6.0
The latest ALIMbot Engine can be DOWNLOADED from here.
The ALIMbot Engine comes as an Win32 executable. It incorporates certain features which are needed for CLEAR understanding of the user input and EFFECTIVE communication of the bot output.
Pre-processing of user input
Processing of user input for response
To obtain a suitable response to the user input depending on the context of previous conversation and also independent analysis.
Post-processing of user input
Build date (set in [general] )
Bot master (set in [general] )
|%time||Current system Time|
Current system Date.
|%n||The chatbot name i.e. ALIM|
The value returned from [keywordvariable]
|%c||Same as %v but is replaced only when the answer is a command to be executed by ALIMbot.|
|%$||Inverted user input. [i->you and you->i]|
CommandParameterArea - Data passed for internal use
AnswerQuote - is the answer to be returned to the user. If you want %v to be printed in the AnswerQuote then you have to use %c instead of %v
CommandName - Currently ALIMbot understands the following commands
|Command Name||What it Does?|
|RUNAPP||Used for starting application like wordpad, notepad, paint
brush etc when commanded. The applications to be started can be
specified in the data.dat file as follows.
the \*,execute \*,execute the \*,open \*,open the \*,start \*,start
the \*,adjust \*,adjust the \*]
[data:apppath] wordpad=wordpad.exe text file=wordpad.exe notepad=notepad.exe internet explorer=about:blank browser=about:blank calc=calc.exe calculator=calc.exe paint=pbrush.exe explorer=explorer.exe
[response:runok] CMD::RUNAPP::%v::Attempting to run %c CMD::RUNAPP::%v::Executing the command to start %c CMD::RUNAPP::%v::Hey %u! I think I started the %c CMD::RUNAPP::%v::You want me to start the %c. See %u, here it is. CMD::RUNAPP::%v::Open %c! Let me do that for you
[response:runnotok] I tried but couldn't. Sorry. I don't know where it is. Sorry.. try to search for it manually.
|SAVE||Used for saving user entered information in the
USERNAME.MEM file created by ALIMbot. ALIMbot can be commanded to
save the input thru the conversation data.dat file as follows.
|DOAGAIN||When for a given input the control can be redirected
to a different TAG in the data.dat file.
The control will go to the tag [askformoreinfo]
or [dead] if the
keywordvariable does not find a correct match in the provided [data:kw].
|LOOKUPIN||When for a given input the control can be redirected
to a different TAG in the data.dat file.
The LOOKUPIN command would cause the control to open SAYINGS.AMC
and pick a line available under the keywordsearch->sayings
The pattern in [KEYWORDLISTORDER] would let ALIMbot identify the numbers and operators involved in the problem. The MATH command would be used to convert the problem into the mathematic equation which would be processed and the result would be available in %c variable.
Currently, the Mathematics Processor is not made and hence the %c variable would just return the equation.
Any Volunteers to work on this????
|More commands to come... If you think of some please mail me.|
ALIMbot uses a database similar to that of ELIZA's BRAIN by Phillip Massyn incorporating few but significant changes. The altered database format is easy to understand. The memory/brain of ALIMbot utilizes the following files,
|DATA.DAT||REQUIRED||For basic conversational ability.|
|OPTION.TMP||Generated by the program when required.||Stores the available answers for the previous user input. Is created for every user input.|
|ALIMbot Memory Capsules||OPTIONAL files for improved interaction.||Stores data on any particular topic. Have to be linked in the DATA.DAT file.|
|REQUIRED if AMC files have been added and linked from data.dat.||Stores keyword information for generating a relevant query from the user input.|
|TRACE FILE (trace.log)
LOG FILE (chat.log)
DEAD FILE (dead.log)
|REQUIRED. generated by program if not already available. But IF you face any problem running the ALIMbot exe make sure that you create these files manually. All these files if created manually must be empty.||Trace File
contains the details about relevance, user input, bot output and keytag
section from which the bot output was obtained.
Log File contains the CURRENT chat transcript. It will be deleted if a user is changed or ALIMbot is closed. The contents of Log File are written to the Dead File. Hence, Dead file contains the previous chat transcript before the current one.
© Documentation ALIMbot by Mohammed Faizul Wahid