[Deprecated] Artificial Intelligence Markup Language lib for Node.js
CoffeeScript JavaScript
Latest commit 0746dc8 Mar 18, 2013 @dotcypress bump version
Permalink
Failed to load latest commit information.
lib
test bump version Mar 18, 2013
.editorconfig Initial commit Mar 15, 2013
.gitattributes Initial commit Mar 15, 2013
.gitignore
.travis.yml Initial commit Mar 15, 2013
AIML.xsd Expressions parsing added Mar 15, 2013
LICENSE Initial commit Mar 15, 2013
README.md
index.js Directory parsing Mar 15, 2013
package.json bump version Mar 18, 2013

README.md

AIML Build Status

Artificial Intelligence Markup Language lib for Node.js

Usage

Installation

npm install aiml

Parser

  • aiml.parse(xml, callback) - parse string with AIML Xml.
  • aiml.parseFiles(files, callback) - parse file or files.
  • aiml.parseDir(dir, callback) - parse all files in specified directory.

Engine

Engine constructor: var engine = new aiml.AiEngine(roomName, topics, botData)

Parameters

  • roomName - (required) name of chat room.
  • topics - (required) array of topics(parser results).
  • botData - (optional) bot metadata (name, version, gender, etc.).

Main awesome function: engine.reply(authorData, message, callback)

Parameters

  • authorData - (required) message author metadata (name, age, etc.).
  • message - (required) just message.
  • callback - (required) classic js callback, nothing special: ).

Sample

var aiml = require('aiml')

aiml.parseFile('sample.aiml', function(err, topics){
  var engine = new aiml.AiEngine('Default', topics, {name: 'Jonny'});
  var responce = engine.reply({name: 'Billy'}, "Hi, dude", function(err, responce){
    console.log(responce);
  });
});

Supported features in current release

  • Category patterns
    • <bot name="*"/>
    • *
  • Ctegory templates
    • <bot name="*"/>
    • *
    • <srai>link</srai>
    • <get name="variable"/>
    • <set name="variable">value</set>

Contribute

You are welcome ;)