ector
ECTOR is a learning chatterbot. This is its Node.js version.



Getting Started
Install the module with:
npm install ector
``
javascript
var Ector = require('ector');
var ector = new Ector();
ector.addEntry("Hello ECTOR!");
var response = ector.generateResponse();
console.log(response.sentence);
`
Documentation
$3
Use it to instanciate one bot.
Warning: username and botname should be at least 3 characters long.
Constructor
$3
_string_ name of the bot (default: ECTOR
)
$3
_string_ name of the user (default: Guy
)
setUser
$3
_string_ new user's name
return the user's name or an Error.
setName
$3
_string_ new bot's name
return _string|Error_ the name of the bot, or an Error.
addEntry
Add an entry into the ECTOR's Concept Network
$3
_string_ One or several sentences.
$3
_conceptNetworkState_ see [ConceptNetworkState].
return _Array|Error_ array of token nodes used in the entry.
generateResponse
Generate a response from the Concept Network and a network state.
return _Object_ { response, nodes } The _response_ is a string, and _nodes_ is an array of nodes (see [linkNodesToLastSentence]).
linkNodesToLastSentence
Link nodes to the previous sentence node id (this is automatically set by
addEntry, it is the node id
of the first sentence of the entry).
Used with the nodes returned by addEntry.
$3
_Array_ Array of nodes ids.
injectConceptNetwork
Inject a new [ConceptNetwork] constructor.
Useful when one wants to use specialized ConceptNetwork (e.g.
FileConceptNetwork).
WARNING: reinitialize this.cn
and this.cn[this.username].cns`
$3
_ConceptNetwork_ derivated class of
ConceptNetwork.
_(Coming soon)_
Examples
The
browser-ector is an example of how this library can be used.
You can talk to ECTOR in the browser.
Take a chat.
Or you add the
hubot-ector script
to a
Hubot.
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using
mocha.
Release History
* 2014/08/07: version 0.1.7: fix bug: injector did not always work.
* 2013/01/27: version 0.1.6: add a ConceptNetwork injector.
* 2013/01/25: version 0.1.5: fix bug: replace all names in a response.
* 2013/01/17: version 0.1.4: fix bug: beg value for second sentence.
* 2013/01/17: version 0.1.3: fix bug: create node for second sentence.
* 2013/01/06: version 0.1.2: add linkNodesToLastSentence()
* 2013/01/05: version 0.1.1: fix github URL (to install)
* 2013/01/05: version 0.1.0: first release
Warning: this is a work in progress.
License
Copyright (c) 2012 François Parmentier
Licensed under the MIT license.