Provides a RiveScript chatbot personality for Hubot.
npm install hubot-rivescriptProvides a RiveScript chatbot personality for Hubot, using the
rivescript JS module.
RiveScript is a simple scripting language for chatbots. See
RiveScript.com to learn more about it.
See src/rivescript.coffee for full documentation.
In your hubot project repo, run:
npm install --save hubot-rivescript
Then add hubot-rivescript to your external-scripts.json:
``json`
[
"hubot-rivescript"
]
Use the following environment variables to configure your RiveScript bot:
* HUBOT_RIVESCRIPT_BRAIN (default ./brain)
The path on disk to a directory containing RiveScript files (*.rive).
* HUBOT_RIVESCRIPT_PREFIX (default blank)
By default, this script responses to all messages directed at the bot (by
mentioning its username). This can overlap with other scripts you may have
configured; so you can set this variable to require an additional prefix.
For example, with HUBOT_RIVESCRIPT_PREFIX="rs" a user must say0
"hubot rs hello" to get the RiveScript bot to respond.
* HUBOT_RIVESCRIPT_UTF8 (default )
Enable UTF-8 support within RiveScript. By default, all punctuation and
symbols are stripped from the user's input message, and RiveScript triggers
can't contain Unicode symbols. Enable UTF-8 mode to lift these restrictions
if you want to support non-English users.
Enable it with HUBOT_RIVESCRIPT_UTF8=10
* HUBOT_RIVESCRIPT_SYNC (default )
Use synchronous replies instead of async ones. By default, replies are async
and you can change that by doing HUBOT_RIVESCRIPT_SYNC=1
Under the hood, this is the difference between using rs.replyAsync()rs.reply()
(default) and ; in the latter mode, object macros aren't allowed0
to return promises but must return string results.
* HUBOT_RIVESCRIPT_DEBUG (default )
Set this variable to 1 to enable debug mode within RiveScript. This will
log verbose internal information to the console and may be useful to help
debug loading or matching errors within RiveScript.
`
user1> hubot hello bot
hubot> Hello human!
user1> hubot my name is Alice
hubot> Alice, I'll call you that from now on.
user2> hubot call me Bob
hubot> I'll remember that your name is Bob.
user1> hubot who am I?
hubot> Your name is Alice.
user2> hubot what's my name?
hubot> You told me your name is Bob.
``
https://www.npmjs.com/package/hubot-rivescript
Noah Petherbridge, @kirsle