[Deprecated] Artificial Intelligence Markup Language lib for Node.js
CoffeeScript JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.editorconfig
.gitattributes
.gitignore
.travis.yml
AIML.xsd
LICENSE
README.md
index.js
package.json

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 ;)