This is a RiveScript interpreter library for PHP. See the below Working Draft section for more information.
The package follows the FIG standards PSR-1, PSR-2, and PSR-4 to ensure a high level of interoperability between shared PHP code.
Simply install the package through Composer.
composer require junker/rivescript
The RiveScript PHP interpreter is framework agnostic. As such, the interpreter can be used as is with native PHP, or with your favorite framework.
The RiveScript Working Draft (WD) is a document that defines the standards for how RiveScript should work, from an implementation-agnostic point of view. The Working Draft should be followed when contributing to the RiveScript-PHP interpreter. If any of the current implementations don't do what the Working Draft says they should, this is considered to be a bug and you can file a bug report or send a pull request.
A copy of the working draft can be found within the resources
directory of this repository. You may also find the latest version on the RiveScript website at http://www.rivescript.com/wd/RiveScript.
- Format
- Whitespace
- Standard Global Variables
- Sort +Triggers
- Sort %Previous
- Sort Replies
- Syntax Checking
- Within BEGIN/Request
- Within +Trigger
- Within Replies
- % Previous
- ^ Continue
- @ Redirect
- * Condition
- // Comment
- version
- global
- var
- array
- sub
- person
- begin
- topic
- object
- Atomic
- Wildcard
- Alternation
- Optional
- Arrays
- Priority
- Atomic
- Random
- Weighted Random
-
<star>
-
<star1>
-<starN>
-
<botstar>
-
<botstar1>
-<botstarN>
-
<input>
-
<input1>
-<input9>
-
<reply>
-
<reply1>
-<reply9
-
<id>
-
<bot>
-
<env>
-
<get>
-
<set>
-
<add>
-
<sub>
-
<mult>
-
<div>
-
{topic=...}
-
{weight=...}
-
{@...}
-
<@>
-
{random}...{/random}
-
{person}...{/person}
-
<person>
-
{formal}...{/formal}
-
<formal>
-
{sentence}...{/sentence}
-
<sentence>
-
{uppercase}...{/uppercase}
-
<uppercase>
-
{lowercase}...{/lowercase}
-
<lowercase>
-
{ok}
-
\s
-
\n
-
\/
-
\#