These are some accepted changes to the RiveScript specification that have yet to be implemented in all of the primary implementations.
The Working Draft will only be updated to document these changes when all of the primary implementations support them.
In the following lists of implementations that support each feature, the GitHub commit that implements the feature is linked. In the case where there isn't an associated commit, it means that implementation included the feature from the beginning or the commit that added the feature hasn't been found yet.
Allows using foreign characters in triggers, loosens up the filtering of input messages, and allows for the user to tell the bot their e-mail address without the @ and dot symbols being removed.
Support:
Last updated: 2016-02-11
Strips common punctuation symbols from input messages when UTF-8 mode is active. Provides a way for the user to override the regexp if they need to change the definition of what a punctuation character is.
Support:
Last updated: 2016-02-11
Shortcuts for <input1>
and <reply1>
, respectively. This is for triggers
only, not replies. For example, + <input>
Support:
- Go
- Java
- JavaScript
- Perl
- Python
Last updated: 2016-02-11
Lets you use <bot name=value>
or <env name=value>
to set bot and global
variables, respectively, similar to the <set>
tag.
Support:
- Go
- Java (@e09049e)
- JavaScript
- Perl
- Python
Last updated: 2016-02-11
Similar to multiple replies; puts redirects and replies in the same bucket for
random selection. Acts as a shortcut to using - {@trigger}
Support:
- Go
- Java
- JavaScript
- Perl
- Python
Last updated: 2016-02-11
This repurposes arrays to be usable in responses. A tag like (@array)
is
expanded into {random}ARRAY{/random}
, where "ARRAY" is the pipe-delimited
contents of the array.
Example:
! array greek = alpha beta gamma
+ say a greek letter
- Here you go: (@greek)
// This is equivalent to:
+ say a greek letter
- Here you go: {random}alpha|beta|gamma{/random}
Support:
- Go
- Java
- JavaScript (@fdc33ea)
- Perl
- Python
Last updated: 2016-02-11
This makes the loadDirectory()
function search recursively for RiveScript files.
Support:
- Go
- Java
- JavaScript (@07e4e93)
- Perl
- Python
Last updated: 2016-03-08
This makes arrays able to embed each other, like !array colors = @primary @chromatic orange brown pink
. Arrays are only expanded at reply fetching time, so they can be defined in any order in any file.
Support:
- Go
- Java
- JavaScript
- Perl
- Python (#22)
Last updated: 2016-10-27