public interface SessionManager
The session manager keeps track of getting and setting user variables, for example when the <set>
or <get>`
tags are used
in RiveScript or when API functions like RiveScript.setUservar(String, String, String)
are called.
By default RiveScript stores user sessions in memory and provides methods to export and import them (e.g. to persist them when the bot shuts down so they can be reloaded). If you'd prefer a more 'active' session storage, for example one that puts user variables into a database or cache, you can create your own session manager that implements this interface.
Modifier and Type | Field and Description |
---|---|
static int |
HISTORY_SIZE
The number of entries stored in the history.
|
Modifier and Type | Method and Description |
---|---|
void |
addHistory(java.lang.String username,
java.lang.String input,
java.lang.String reply)
Adds input and reply to a user's history.
|
void |
clear(java.lang.String username)
Clears a user's variables.
|
void |
clearAll()
Clear all variables of all users.
|
void |
freeze(java.lang.String username)
Makes a snapshot of a user's variables.
|
UserData |
get(java.lang.String username)
Returns all variables for a user.
|
java.lang.String |
get(java.lang.String username,
java.lang.String name)
Returns a user variable.
|
java.util.Map<java.lang.String,UserData> |
getAll()
Returns all variables about all users.
|
History |
getHistory(java.lang.String username)
Returns a user's history.
|
java.lang.String |
getLastMatch(java.lang.String username)
Returns a user's last matched trigger.
|
UserData |
init(java.lang.String username)
Makes sure a username has a session (creates one if not).
|
void |
set(java.lang.String username,
java.util.Map<java.lang.String,java.lang.String> vars)
Sets a user's variables.
|
void |
set(java.lang.String username,
java.lang.String name,
java.lang.String value)
Sets a user's variable.
|
void |
setLastMatch(java.lang.String username,
java.lang.String trigger)
Sets a user's the last matched trigger.
|
void |
thaw(java.lang.String username,
ThawAction action)
Unfreezes a user's variables.
|
static final int HISTORY_SIZE
UserData init(java.lang.String username)
username
- the usernamevoid set(java.lang.String username, java.lang.String name, java.lang.String value)
username
- the usernamename
- the variable namevalue
- the variable valuevoid set(java.lang.String username, java.util.Map<java.lang.String,java.lang.String> vars)
username
- the usernamevars
- the user variablesvoid addHistory(java.lang.String username, java.lang.String input, java.lang.String reply)
username
- the usernameinput
- the inputreply
- the replyvoid setLastMatch(java.lang.String username, java.lang.String trigger)
username
- the usernametrigger
- the triggerjava.lang.String get(java.lang.String username, java.lang.String name)
username
- the usernamename
- the variable nameUserData get(java.lang.String username)
username
- the usernamejava.util.Map<java.lang.String,UserData> getAll()
java.lang.String getLastMatch(java.lang.String username)
username
- the usernameHistory getHistory(java.lang.String username)
username
- the usernamevoid clear(java.lang.String username)
username
- the usernamevoid clearAll()
void freeze(java.lang.String username)
username
- the usernamevoid thaw(java.lang.String username, ThawAction action)
username
- the usernameaction
- the thaw actionThawAction