https://github.com/dotcypress/aiml
[Deprecated] Artificial Intelligence Markup Language lib for Node.js
https://github.com/dotcypress/aiml
Last synced: about 2 months ago
JSON representation
[Deprecated] Artificial Intelligence Markup Language lib for Node.js
- Host: GitHub
- URL: https://github.com/dotcypress/aiml
- Owner: dotcypress
- License: mit
- Created: 2013-03-15T12:14:50.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2013-03-18T15:04:39.000Z (about 12 years ago)
- Last Synced: 2025-03-18T09:03:41.420Z (about 2 months ago)
- Language: CoffeeScript
- Homepage:
- Size: 150 KB
- Stars: 68
- Watchers: 2
- Forks: 18
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
AIML [](https://travis-ci.org/dotCypress/aiml)
=====[Artificial Intelligence Markup Language](http://en.wikipedia.org/wiki/AIML "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
```js
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
* ``
* `*`
* Ctegory templates
* ``
* `*`
* `link`
* ``
* `value`## Contribute
You are welcome ;)