I currently maintain fourfivesix! different
implementations of RiveScript, and some are better maintained than others. I'll
try to keep this page up-to-date to include the differences in support between
the different implementations, and use it as reference for eventually fixing these
problems so they all support the same features of RiveScript.
I'll organize this list by feature, and list the implementations that support
it, rather than the other way around. Features that were present "since 1.0"
don't have links to the commits on GitHub.
Unicode/UTF-8 Support
Allows using foreign characters in triggers, loosens up the filtering of
input messages, also allows for the user to tell the bot their e-mail
address without the @ and dot symbols being removed. Where supported, the
feature is considered experimental and is not enabled by default.
Punctuation stripping in UTF-8 mode
Strips common punctuation characters from input messages when UTF-8 mode
is active. Provides a way for the user to override this regexp if they
need to change the definition of what a punctuation character is.
Shortcut tags <input> and <reply> in Triggers
Shortcuts for <input1> and <reply1>,
respectively. This is for trigger lines only, not replies. For example,
+ <input>
Python
Perl
JavaScript
Go
Rust
Setter tags for <bot> and <env>
Lets you use <bot name=value> or
<env name=value> to set variables, similar to the
<set> tag.
Python
Perl
JavaScript
Go
Rust
Multiple Redirects
Ssimilar to multiple replies; puts redirects and replies into the same
bucket for random selection. Acts as a shortcut to using
- {@another trigger}